c - Codeforces:“B. 8 Queens, Again”
问题描述
问题就在这里:B. 8 Queens,再次!
我想我没有遇到最坏的情况或遗漏什么。我的提交在测试 2中失败。
我刚刚检查了每个输入的行、列和对角线及其下一个输入。我认为这就足够了。是否还有其他情况可以有效或无效?我不确定我的代码是否全部正确。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int t, y[9], x[9], i, j, valid;
scanf("%d", &t);
while(t--)
{
valid = 1;
for(i = 0; i < 8; i++)
{
scanf(" %c %d", &x[i], &y[i]);
}
for(i = 0; i < 8; i++)
{
for(j = i+1; j < 8; j++)
{
if(x[i] == x[j] || y[i] == y[j] || abs(x[i] - x[j]) == abs(y[i]-y[j])) valid = 0;
}
}
(valid) ? printf("Valid\n") : printf("Invalid\n");
}
return 0;
}
解决方案
推荐阅读
- angular - 错误句柄角度 7
- c# - 联网 AR Unity 无法让子弹成为地平面阶段的子项
- c# - net core 2.2,跨应用程序共享数据保护令牌
- c++ - 有没有办法访问/取消引用并查找存储在双指针向量中的元素的值?
- c# - 如何在自定义目标之后运行构建后事件?
- c# - 存储库模式:如何在基于过滤器的更新/删除时跟踪实体状态?
- tensorflow - 如何在训练时在 Keras 中使用具有三个输入的指标(GAP 指标)?
- c - GCC C 警告“重复 'const' 声明”
- optimization - 我应该将约束优化转换为无约束优化吗?
- javascript - 返回的结果不显示预输入