题目传送门(内部题122)


输入格式

  输入文件第一行为一个正整数$n$,表示双方总共下了多少步棋。
  接下来$n$行,输入文件每行两个正整数。第$i$行的两个数$x,y$表示第$i$步的棋子下在了第$x$条横线和第$y$条竖线的交叉点上。若$i$为奇数,则这个棋子是黑棋,否则是白棋。


输出格式

  若没有人获得胜利,你需要输出$"Tie"$(不含引号)。否则,若小$A$获胜,则输出$"A"$(不含引号),若小$B$获胜,输出$"B"$。当有人获胜时,你还需要输出一个正整数$w$,表示第$w$步下完后游戏应当结束,字母与整数间用一个空格隔开。


样例

样例输入:

20
5 5
4 5
5 6
7 5
6 7
7 2
4 3
8 3
6 6
8 5
6 4
3 3
8 7
3 4
6 5
4 8
6 3
5 10
5 9
8 8

样例输出:

A 17


数据范围与提示

  对于$100\%$的数据,满足$0\leqslant n\leqslant 225,1\leqslant x,y\leqslant 15$。


题解

模拟,没了……

注意函数不要忘了返回值,$exit(0)$需要调库,我知道的就这么多了,要是有人还犯了其它低级错误可以找我加上。

我感觉我的打法细节不是很多。

时间复杂度:$\Theta(n)$。

期望得分:$100$分。

实际得分:$100$分。


代码时刻

#include<bits/stdc++.h>
using namespace std;
int n;
int Map[20][20];
int ans;
bool judge(int x,int y)
{
int res1=1,res2=1,res3=1,res4=1;
for(int i=1;;i++)if(Map[x+i][y]!=Map[x][y]){res1+=i-1;break;}
for(int i=1;;i++)if(Map[x-i][y]!=Map[x][y]){res1+=i-1;break;}
for(int i=1;;i++)if(Map[x][y+i]!=Map[x][y]){res2+=i-1;break;}
for(int i=1;;i++)if(Map[x][y-i]!=Map[x][y]){res2+=i-1;break;}
for(int i=1;;i++)if(Map[x+i][y+i]!=Map[x][y]){res3+=i-1;break;}
for(int i=1;;i++)if(Map[x-i][y-i]!=Map[x][y]){res3+=i-1;break;}
for(int i=1;;i++)if(Map[x+i][y-i]!=Map[x][y]){res4+=i-1;break;}
for(int i=1;;i++)if(Map[x-i][y+i]!=Map[x][y]){res4+=i-1;break;}
if(res1>=5||res2>=5||res3>=5||res4>=5)return 1;
return 0;
}
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
int x,y;
scanf("%d%d",&x,&y);
Map[x][y]=(i&1)+1;
if(!ans&&judge(x,y))ans=i;
}
if(!ans)puts("Tie");
else if(ans&1)printf("A %d",ans);
else printf("B %d",ans);
return 0;
}

rp++

最新文章

  1. vue2.0学习(一)
  2. [转]程序员自己写的神器 MonoDevelop 4 (Xamarin Studio) Debugging for Unity
  3. Android课程---手机尺寸相关的概念 +尺寸单位+关于颜色
  4. Silverlight项目笔记5:Oracle归档模式引起的异常&amp;&amp;表格控件绑定按钮
  5. UVA 1456 六 Cellular Network
  6. phonegap 2.7 ios配置安装详细教程(2.9通用)
  7. C#应用程序单进程检测
  8. PHP 布尔类型
  9. corsproxy
  10. Unix/Linux环境C编程入门教程(4) Debian Linux环境搭建
  11. iOS下uiview和uiscrollview设置背景图片的源码
  12. Vue技术内幕 出去看看吧 实例化+挂载
  13. Linux-bc命令(21)
  14. Event Recommendation Engine Challenge分步解析第三步
  15. 如何在Excel中提取小数点后面的数字?
  16. git bash 命名
  17. centos7重新调整分区大小
  18. ubuntu16.10安装搜狗输入法
  19. fiddler抓包工具使用
  20. python数据库编程小应用

热门文章

  1. spark教程(七)-文件读取案例
  2. Python接口开发
  3. SQL----Scalar 函数
  4. 为什么选择器:last-child有时没有起作用?
  5. SQL-Serverの自動採番(IDENTITY値)の取得・リセット
  6. 移动端 app
  7. 谷歌浏览器(Chrome)离线包的下载方法!
  8. 什么是RTTI
  9. Delphi 指针类型
  10. uestc summer training #3 线段树优化建边