CSP-S 2023

[CSP-S 2023] 密码锁

耗时 1h ?

思路

考试时先前没有看懂题。因为给出的 \(n\) 个状态都是转了的,所以可以枚举所有转回来的状态,如果有一种状态出现了 \(n\) 此就是可以的。呜呜呜小图灵你为什么给我标 \(70\) 分!

code

#include <bits/stdc++.h>

using namespace std;

int a[10][6], n, ans;
map<int, set<int>> st;

int main() {
  ios::sync_with_stdio(0), cin.tie(0);
  cin >> n;
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= 5; j++) {
      cin >> a[i][j];
    }
  }
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= 18; j++) {
      for (int k = 1; k <= 5; k++) {
	      int sum = 0, cnt = 0;
        for (int o = 1; o <= 5; o++) {
	        if (o == k) {
	          sum = sum * 10 + (a[i][o] + j) % 10;
	        } else {
	          sum = sum * 10 + a[i][o];
	        }
	        cnt = cnt * 10 + a[i][o];
	      }
	      if (sum != cnt)
	        st[sum].insert(cnt);
      }
      for (int k = 1; k < 5; k++) {
	      int sum = 0, cnt = 0;
    	  for (int o = 1; o <= 5; o++) {
	        if (o == k || o == k + 1) {
	          sum = sum * 10 + (a[i][o] + j) % 10;
	        } else {
	          sum = sum * 10 + a[i][o];
	        }
	        cnt = cnt * 10 + a[i][o];
	      }
	      if (sum != cnt)
	        st[sum].insert(cnt);
      }
    }
  }
  for (auto i : st) {
    ans += (int((i.second).size()) == n);
  }
  cout << ans << endl;
  return 0;
}

预估 100 分

[CSP-S 2023] 消消乐

1.5 h

思路

没有思路,硬是没想到 \(n^2\) 最后考虑 \(f_{ij}\) 为区间 \([i, j]\) 可不可以噶掉,那么如果 \(s_i = s_j\) 那么可以看做是一个中间的被消了然后 \(ij\) 合到一起然后消了,还有一种可能时这是一堆已经删掉的区间合到一起的,所以枚举断点,然后看两边。

code

#include <bits/stdc++.h>

using namespace std;

const int MaxN = 8010;

int f[MaxN][MaxN], n, ans;
string s;

int main() {
  cin >> n >> s, n = s.size(), s = " " + s;
  for (int i = 1; i < n; i++) {
    f[i][i + 1] = s[i] == s[i + 1];
  }
  for (int len = 2; len <= n; len++) {
    for (int i = 1, j = i + len - 1; j <= n; j++, i++) {
      f[i][j] |= f[i + 1][j - 1] && s[i] == s[j];
      for (int k = i; k < j; k++) {
	      f[i][j] |= f[i][k] && f[k + 1][j];
      }
      ans += f[i][j];
    }
  }
  cout << ans << endl;
  return 0;
}

预估:35 分

[CSP-S 2023] 结构体

30min?

思路

没思路,想骗性质A,结果刚写完后就结束了……

[CSP-S 2023] 种树

1.5h?

思路

没思路,想骗 \(c_i=0\) 结果 \(MLE\),不会写。

posted @ 2023-10-22 21:17  yabnto  阅读(42)  评论(0编辑  收藏  举报