結果
問題 | No.1312 Snake Eyes |
ユーザー |
![]() |
提出日時 | 2020-12-09 00:09:45 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 146 ms / 2,000 ms |
コード長 | 755 bytes |
コンパイル時間 | 2,303 ms |
コンパイル使用メモリ | 198,384 KB |
最終ジャッジ日時 | 2025-01-16 20:04:11 |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 85 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf 1000000000000000000 bool is_ok(long long n,long long p){ vector<long long> x; while(n!=0){ x.push_back(n%p); n/=p; } rep(i,x.size()-1){ if(x[i]!=x[i+1])return false; } ///cout<<p<<','<<x.size()<<endl; //cout<<x[0]<<endl; return true; } int main(){ long long N; cin>>N; vector<long long> Y; for(long long i=2;i<=1000005;i++){ if(is_ok(N,i)){ cout<<i<<endl; return 0; } if(N%i==0){ Y.push_back(i); Y.push_back(N/i); } } Y.push_back(N); sort(Y.begin(),Y.end()); rep(i,Y.size()){ if(Y[i]<=2)continue; if(is_ok(N,Y[i]-1)){ cout<<Y[i]-1<<endl; return 0; } } cout<<N+1<<endl; return 0; }