• 为什么我觉得需要 33 次操作

    • 第一次:000001000000000 \to 10000
    • 第二次:100001100010000 \to 11000
    • 第三次:110001110011000 \to 11100
  • 题面是输出 No,样例给的是 NO

2 条评论

  • @ 2023-6-27 19:53:26

    和原来的0串没有任何关系

    • @ 2023-7-1 20:08:46

      thx. 那求助为什么 20分 qwq

      #include "bits/stdc++.h"
      using namespace std;
      
      int Fr(string qwq) {
      	int s = 0;
      	for (int i = 0; i < qwq.size(); ++i) {
      		s = s * 2 + qwq[i] - 48;
      	}
      	return s;
      }
      
      string Fp(int qwq) {
      	if (qwq < 2) {
      		if (qwq == 1) return "1";
      		else return "0";
      	}
      	string s = Fp(qwq / 2) + char((qwq % 2) + 48);
      	return s;
      }
      
      int chk(string Basic, string Ygg) {
      	int ret = 0;
      	for (int i = 0; i < Ygg.size(); ++i)
      		if (Basic[i] != Ygg[i]) ++ret;
      	return ret;
      }
      
      map<int, int> mp;
      
      int f[131500];
      
      int main() {
      	int M, N, Basic, q;
      	scanf ("%d%d", &M, &N);
      	string pp;
      	cin >> pp;
      	Basic = Fr(pp);
      	for (int i = 1; i <= 131072; ++i) f[i] = 0x3f3f3f3f;
      	f[0] = 0;
      	for (int i = 1; i <= N; ++i) {
      		string p;
      		cin >> p;
      		q = Fr(p);
      //		cout<<q<<endl;
      		mp[q] = 1;
      		f[q] = min(f[q], 1);
      		for (int i = 0; i <= (1 << (M + 1)) - 1; ++i)
      			if (f[i] != 0x3f3f3f3f) f[i ^ q] = min(f[i ^ q], f[i] + 1);
      	}
      //	cout<<f[28]<<endl;
      //	cout<<Fp(28)<<endl;
      	int gg = 0x3f3f3f3f, o, Mark = 0x3f3f3f3f;
      	for (int i = 1; i <= ((1 << (M + 1)) - 1); ++i)
      		if (f[i] != 0x3f3f3f3f) {
      			if (chk(Fp(i), pp) < gg || (chk(Fp(i), pp) == gg && f[i] < Mark)) {
      				gg = chk(Fp(i), pp);
      				o = i;
      				Mark = f[i];
      			}
      		} 
      	cout << Mark - 1 << endl;
      	cout << Fp(o) << endl;
      	if (mp[o] == 1) cout << "Yes";
      	else cout << "No";
      }
      
  • @ 2023-6-27 19:52:45

    其实意思是要三个数异或,但是只需要两次操作

    • 1

    信息

    ID
    489
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    (无)
    递交数
    81
    已通过
    2
    上传者