每次跑太麻煩了
反正狀態不多 所以直接先建表然後直接查就好
那時候不知道stringstream可以直接.clear() 然後就宣告了一堆= =
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | #include<bits/stdc++.h> using namespace std; map<string,bitset<3> > ina; map<string,int> inf; int main(){ for(int i=0;i<32;i++){ bitset<5> bs(i); bitset<4> o; bitset<3> f; o[3]=!(bs[4]&bs[3]); o[2]=!(bs[3]&bs[2]); o[1]=!(bs[2]&bs[1]); o[0]=!(bs[1]&bs[0]); f[2]=!(o[3]&o[2]); f[1]=!(o[2]&o[1]); f[0]=!(o[1]&o[0]); stringstream ss; ss<<bs; string s; ss>>s; ina[s]=f; stringstream sss; sss<<f; string ssss; sss>>ssss; inf[ssss]++; } string s; while(cin>>s){ if(s.length()==5){ cout<<ina[s]<<endl; } else{ cout<<inf[s]<<endl; } } } |
沒有留言:
張貼留言