Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:求大神 不知道哪里WA了 我是按位处理的In Reply To:求大神 不知道哪里WA了 我是按位处理的 Posted by:liyan199311 at 2017-03-31 17:58:25 > #include<iostream> > #include<string> > #include<vector> > #include <fstream> > #include<bitset> > using namespace std; > > string np_data; > int length; > __int64 data; > unsigned __int64 cur_data; > bitset<64> bs; > int foundIndex = 63; > > bool handData() > { > return true; > } > > void add(int index) > { > bool cin = 1, next_cin = false; > do > { > if (np_data[length - 1 - index] == 'n') > { > next_cin = !bs[index]; > } > else > { > next_cin = bs[index]; > } > bs[index] = !bs[index]; > cin = next_cin; > index++; > } while (cin); > } > > int main() > { > //ifstream in("d:\\document\\test.txt"); > int max_case; > cin >> max_case; > while (max_case--) > { > cin >> length >> np_data >> data; > cur_data = 0; > bool result = true; > bool hasFound = true; > foundIndex = length - 1; > bs = bitset<64>(data); > if (bs[63]) > { > hasFound = false; > for (int i = 63; i >= length; i--) > { > if (!bs[i]) > { > result = false; > break; > } > } > if (result) > { > for (int i = length - 1; i >= 0; i--) > { > if (np_data[length - 1 -i] != 'n') > { > if (!bs[i]) > { > result = false; > break; > } > else > { > bs[i] = 0; > } > } > else > { > bs[i] = 1; > if (bs[i]) > { > hasFound = true; > break; > } > } > } > } > } > else > { > unsigned __int64 max = 0; > for (int i = 0; i <= length - 1; i++) > { > max = max << 1; > if (np_data[i] != 'n') > { > max += 1; > } > } > if (max < (unsigned __int64)data) > { > result = false; > } > } > if (result && hasFound) > { > for (int i = 0; i < foundIndex; i++) > { > int index = length - 1 - i; > if (np_data[index] == 'n' && bs[i]) > { > add(i + 1); > } > } > for (int i = length - 1; i >= 0; i--) > { > cout << bs[i]; > } > cout << endl; > } > else > { > cout << "Impossible" << endl; > } > } > system("pause"); > return 0; > } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator