📄 pku 3435 skulo判断.txt
字号:
#include <stdio.h>
#include <iostream>
#include <stdio.h>
#include <stdio.h>
#include <iostream>
#include <math.h>
#include <stdlib.h>
#include <iomanip>
#include <string.h>
#include <algorithm>
//PKU 3435 skulo判断
using namespace std;
#define NMAX 12
#define INFI 9999999
int qq[NMAX][NMAX];
int data[NMAX];
void solve(int num)
{
int i,j,flag=1,k,m;
for(i=1;i<=num*num;i++)
{
for(j=1;j<=num*num;j++)
{
if(qq[i][j]<0||qq[i][j]>num) {printf("INCORRECT\n");return;}
}
}
for(i=1;i<=num*num;i++)
{
memset(data,0,sizeof(data));
for(j=1;j<=num*num;j++)
{
data[qq[i][j]]++;
}
for(j=1;j<=num*num;j++)
{
if(data[j]>=2) {printf("INCORRECT\n");return;}
}
}
for(j=1;j<=num*num;j++)
{
memset(data,0,sizeof(data));
for(i=1;i<=num*num;i++)
{
data[qq[i][j]]++;
}
for(i=1;i<=num*num;i++)
{
if(data[i]>=2) {printf("INCORRECT\n");return;}
}
}
for(i=0;i<num;i++)
{
for(j=0;j<num;j++)
{
memset(data,0,sizeof(data));
for(k=1;k<=num;k++)
{
for(m=1;m<=num;m++)
{
data[qq[i*num+k][j*num+m]]++;
}
}
for(k=1;k<=num*num;k++)
{
if(data[k]>=2) {printf("INCORRECT\n");return;}
}
}
}
printf("CORRECT\n");
}
int main()
{
int i,j,num;
while(scanf("%d",&num)!=EOF)
{
for(i=1;i<=num*num;i++)
{
for(j=1;j<=num*num;j++)
scanf("%d",&qq[i][j]);
}
solve(num);
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -