1742C
题目链接
题目大意:
在一个8x8的方格中你每次可以将一行全部涂成红色或者将一列涂成蓝色。问最后一次操作是什么操作:
- 如果是行操作就输出R
- 如果是列操作就输出B
解题思路:
我们可一枚举每行每列,如果有一行全部是红色的话那就说明最后一次操作是行操作,否则是列操作。反正数据量不大,不过就是16次而已。
我的坑点:
我一开是想着如果每一行的字母都相同的话,那么最后一次就是行操作,否则就是列操作。我忽略了一点,看图吧:
这种情况该输出R,但我的程序他会输出B,显然是错误的,记得要严谨!!!
下面是AC代码:
#include <bits/stdc++.h> using namespace std; char s[8][9]; bool row(int x) { for(int i = 0; i < 8; i ++ ) { if(s[x][i] != 'R') return false; } return true; } bool columns(int x) { for (int i = 0; i < 8; i ++ ) { if (s[i][x] != 'B') return false; } return true; } void Main() { for(int i = 0; i < 8; i ++ ) { cin >> s[i]; } for(int i = 0; i < 8; i ++ ) { if (row(i)) { puts("R"); return ; } } for(int i = 0; i < 8; i ++ ) { if (columns(i)) { puts("B"); return ; } } } int main() { int t; cin >> t; while (t -- ) { Main(); } return 0; }
没有什么能阻止我对知识的追求!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?