結果
問題 |
No.308 素数は通れません
|
ユーザー |
![]() |
提出日時 | 2018-07-17 14:14:47 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,177 bytes |
コンパイル時間 | 1,320 ms |
コンパイル使用メモリ | 163,972 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-11-24 23:17:01 |
合計ジャッジ時間 | 3,838 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 99 WA * 8 |
ソースコード
#include <bits/stdc++.h> #define syosu(x) fixed<<setprecision(x) using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pair<int,int> P; typedef pair<double,double> pdd; typedef pair<ll,ll> pll; typedef vector<int> vi; typedef vector<vi> vvi; typedef vector<double> vd; typedef vector<vd> vvd; typedef vector<ll> vl; typedef vector<vl> vvl; typedef vector<string> vs; typedef vector<P> vp; typedef vector<vp> vvp; typedef vector<pll> vpll; typedef pair<P,int> pip; typedef vector<pip> vip; const int inf=1<<30; const ll INF=1ll<<60; const double pi=acos(-1); const double eps=1e-8; const ull mod=1e9+7; const int dx[4]={-1,0,1,0},dy[4]={0,-1,0,1}; int h,w=2,n; string s; vvi a; void dfs(int x,int y){ a[x][y]=2; for(int i=0;i<4;i++){ int X=x+dx[i],Y=y+dy[i]; if(X>=0&&X<h&&Y>=0&&Y<w){ bool B=0; int A=a[X][Y]; for(int j=2;j*j<=A;j++) if(A%j==0) B=1; if(B) dfs(X,Y); } } } int main(){ cin>>s; if(s.size()>2) cout<<8<<endl; else{ n=atoi(s.c_str()); while(1){ h=(n+w-1)/w; a=vvi(h,vi(w,2)); for(int i=0;i<n;i++) a[i/w][i%w]=i+1; dfs(0,0); if(a[(n-1)/w][(n-1)%w]==2) break; w++; } cout<<w<<endl; } }