結果
問題 | No.2285 Make A Unit Square |
ユーザー | planes |
提出日時 | 2023-04-29 09:59:37 |
言語 | C++14 (gcc 12.3.0 + boost 1.83.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,034 bytes |
コンパイル時間 | 1,755 ms |
コンパイル使用メモリ | 177,504 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-18 08:27:54 |
合計ジャッジ時間 | 2,640 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 4 ms
6,816 KB |
testcase_01 | WA | - |
testcase_02 | WA | - |
testcase_03 | WA | - |
testcase_04 | WA | - |
ソースコード
#include <bits/stdc++.h> using namespace std; using ll =long long; #define all(v) v.begin(),v.end() #define rep(i,a,b) for(int i=a;i<b;i++) #define rrep(i,a,b) for(int i=a;i>=b;i--) ll INF=2e18; vector<ll> vec; void solve() { ll a,b;cin>>a>>b; a-=2; b-=2; ll x,y; if(a<100) x=vec[a]; else { a%=34; x=vec[a+68]; } if(b<100) y=vec[b]; else { b%=34; y=vec[b+68]; } ll ans=(a^b); if(ans==0) cout<<"Second"<<endl; else cout<<"First"<<endl; } int main() { ios::sync_with_stdio(false); cin.tie(0); vec=vector<ll> (1000); vec[1]=0; vec[2]=0; for(ll i=3;i<=500;i++) { set<ll> a; for(ll j=1;j<i-1;j++) { ll k=vec[j]^vec[i-j-1]; a.insert(k); } ll now=0; bool ok=false; for(auto x:a) { if(x!=now) { vec[i]=now; ok=true; break; } now++; } if(!ok) vec[i]=now; } vector<ll> note(1000); for(ll i=2;i<1000;i++) note[i]=vec[i+2]; vec=note; ll t;cin>>t; for(ll i=0;i<t;i++) { solve(); } }