acgo题库
  • 首页
  • 题库
  • 题单
  • 竞赛
  • 讨论
  • 排行
  • 团队
  • 备赛专区

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
登录
注册
题目详情题解(0)讨论(0)提交记录(0)
  • 3

    #include <bits/stdc++.h> using namespace std; int n, S[13], mp[13]; char str[13][13][3]; bool add(int a, int b) { int sum = S[a] + S[b], ch = str[a][b][0] - 'A' + 1; if (sum >= n - 1) { if (strlen(str[a][b]) != 2 || mp[1] != ch) { return 0; } else { sum -= n - 1; ch = str[a][b][1] - 'A' + 1; } } if (mp[sum] != ch) { return 0; } return 1; } int main() { scanf("%d", &n); for (int i = 1; i <= n; i++) { scanf("%s", str[1][i]); } int M; bool flag = 0; for (int i = 2; i <= n; i++) { M = 0; for (int l = 1; l <= n; l++) { scanf("%s", str[i][l]); if (strlen(str[i][l]) > 1) { M++; //计算两位数个数 } } S[i] = M; if (flag == 0 && mp[M]) { flag = 1; } mp[M] = str[i][1][0] - 'A' + 1; } if (flag) { //重复错误 printf("ERROR!"); return 0; } for (int i = 2; i <= n; i++) { for (int l = 2; l <= n; l++) { if (add(i, l) == 0) { printf("ERROR!"); return 0; } } } for (int i = 2; i <= n; i++) { printf("%c=%d ", str[i][1][0], S[i]); } printf("\n%d", n - 1); return 0; }

    userId_undefined

    我

    倔强青铜
    2阅读
    0回复
    0点赞
首页