列表

详情


NC221082. 这个合理吗?

描述

小明在做一个游戏,该游戏是在3×3盘面上放置1-9个数字
并满足每一行、每一列、且整个盘面(3x3)内的数字都不重复
如果满足,则放置的数字合理,否则不合理。
例如 :
2 3 1
5 6 4
8 9 7
就是合理的,而
1 2 3
4 7 6
7 8 9
就不合理。

输入描述

输入三行三列数字,数字用空格隔开。

输出描述

一行,如果输入的数合理,则输出YES
反之输出NO

示例1

输入:

3 1 2
6 4 5
9 7 8

输出:

YES

示例2

输入:

3 6 2
6 4 5
9 7 8

输出:

NO

示例3

输入:

3 6 2
6 20 5
9 7 8

输出:

NO

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

Python3(3.9) 解法, 执行用时: 44ms, 内存消耗: 6852K, 提交时间: 2021-04-20 13:35:26

lis1 = input().split( )
lis2 = input().split( )
lis3 = input().split( )
lis =[]
one =[]
lis.extend(lis1)
lis.extend(lis2)
lis.extend(lis3)
for i in lis:
    one.append(int(i))
two= set(one)
if len(two) == 9:
    print('YES')
else :
    print('NO')

C 解法, 执行用时: 2ms, 内存消耗: 376K, 提交时间: 2021-06-24 13:25:09

#include <stdio.h>
int main ()
{
	int n=9,t,a[10]={0};
	while(n--)
	{
		scanf("%d",&t);
		if(t>0&&t<10) a[t]=1;
	}
	n=10;
	while(--n) if(a[n]==0) break;
	if(n) printf("NO");
	else printf("YES");
	return 0;
}

C++(clang++11) 解法, 执行用时: 9ms, 内存消耗: 504K, 提交时间: 2021-04-23 12:40:53

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int x;
	set<int> s;
	for(int i=0;i<9;i++)
	{
		scanf("%d",&x);
		s.insert(x);
	}
	if(s.size()==9)
	puts("YES");
	else
	puts("NO");
	return 0;
}

上一题