2023黄冈师范学院第三届『小白杯』ACM程序设计新生赛-热身赛
已结束
ACM/ICPC
开始于: 2023-11-26 9:30
1.5
小时
主持人:
76
比赛邀请码:2023ACM301A
注:新生赛正赛也需要填写邀请码,热身赛设置邀请码是为了让大家熟悉一下,正赛邀请码与热身赛邀请码并不会相同;同时,热身赛成绩与正赛成绩无关。
ACM/ICPC规则
- 排名时只按通过题目数量进行排名,若数量相同,则按总用时排名。
- 题目只有通过和不通过两种状态,题目若只有部分数据通过,则这道题仍是不通过。
- 每提交一次错误代码,总用时都会加上20分钟罚时,请想清楚代码是否有问题再提交!
- 提交后系统立即评测,并返回以下状态:
Accepted
通过:程序输出完全正确Wrong Answer
不通过:程序输出与标准答案不一致(不包括行末空格以及文件末空行)Time Limit Exceeded
不通过:程序运行时间超过了题目限制Runtime Error
不通过:程序运行时错误(如数组越界、被零除、运算溢出、栈溢出、无效指针等)Compile Error
不通过:编译失败,代码有致命问题。
- 其他错误对应的意思请参考HGNUOJ帮助页面。
对于第一题:输出“31”即可。
对于第二题:注意复制样例的即可。
对于第三题,题解代码如下:
#include <stdio.h>
#include <stdbool.h>
// 检查某个玩家是否获胜
bool checkWin(char board[3][3], char player) {
// 检查行
for (int i = 0; i < 3; i++) {
if (board[i][0] == player && board[i][1] == player && board[i][2] == player)
return true;
}
// 检查列
for (int j = 0; j < 3; j++) {
if (board[0][j] == player && board[1][j] == player && board[2][j] == player)
return true;
}
// 检查对角线
if (board[0][0] == player && board[1][1] == player && board[2][2] == player)
return true;
if (board[0][2] == player && board[1][1] == player && board[2][0] == player)
return true;
return false;
}
int main() {
char board[3][3];
// 读取棋盘
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
scanf(" %c", &board[i][j]);
}
}
// 检查玩家A是否获胜
if (checkWin(board, 'X')) {
printf("Flysky\n");
}
// 检查玩家B是否获胜
else if (checkWin(board, 'O')) {
printf("Rikka\n");
}
// 平局
else {
printf("NEXT\n");
}
return 0;
}
- 状态
- 已结束
- 规则
- ACM/ICPC
- 题目
- 3
- 开始于
- 2023-11-26 9:30
- 结束于
- 2023-11-26 11:00
- 持续时间
- 1.5 小时
- 主持人
- 参赛人数
- 76