求思路+程序;
这个判断n子棋的输赢程序如何用c++代码打?
n 子棋 - 题库 - 计蒜客 题号:T2996;知识点:C风格输入输出题单;难度:普及T1;小 A 和小 B 在玩 $n$ 子棋, $n$ 子棋游戏的规则是,两人在一个左上角是 $(1,1)$,右下角是 $(n,n)$ 的 $n \times n$ 棋盘中交替落子,只要有一方的 $n$ 个棋子在同一行或者同一列或者同一条对角线 https://nanti.jisuanke.com/t/T2996
#include<bits/stdc++.h>
using namespace std;
const int N=100000+100;
int n,m,x,y;
int a[N]={0},b[N]={0},cnt1=0,cnt2=0;
int f=1;
int main()
{
cin>>n>>m;
for(int i=1;i<=m;i++,f=-f)
{
cin>>x>>y;
a[x]+=f;
b[y]+=f;
if(x==y)
cnt1+=f;
if(x==n-y+1)
cnt2+=f;
if(abs(a[x])==n||abs(b[y])==n||abs(cnt1)==n||abs(cnt2)==n)
{ cout<<i<<" ";
if(f==1) cout<<"milk!"<<endl;
else cout<<"juice!"<<endl;
return 0;
}
}
cout<<m<<" "<<"drawn!"<<endl;
return 0;
}