205 条题解
-
0linshutan LV 3 @ 2008-10-17 09:59:41
program p1335;
const ra='Right';wa='Wrong';
var a:array[1..9,1..9]of integer;
i,j,k,t,n:integer;
use:array[1..9]of boolean;
tz:boolean;
begin
readln(n);
for t:=1 to n do
begin
tz:=false;
for i:=1 to 9 do
for j:=1 to 9 do
read(a);
readln;
for i:=1 to 9 do
begin
fillchar(use,sizeof(use),0);
for j:=1 to 9 do
if use[a]=false then use[a]:=true
else begin writeln(wa); tz:=true;break; end;
if tz then break;
end;
for i:=1 to 9 do
begin
fillchar(use,sizeof(use),0);
for j:=1 to 9 do
if use[a[j,i]]=false then use[a[j,i]]:=true
else begin writeln(wa); tz:=true;break; end;
if tz then break;
end;
for i:=1 to 3 do
if tz then break
else
for j:=1 to 3 do
begin
fillchar(use,sizeof(use),0);
for k:=1 to 9 do
begin
if k -
02008-10-16 22:42:51@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msflag:=true;
fillchar(a,sizeof(a),0);
for j:= 1 to 9 do
begin
re:=[];
for k:= 1 to 9 do
begin
read(a[j,k]);
if not(a[j,k] in re) then re:=re+[a[j,k]]
else flag:=false;
end;
readln;
end;
for j:= 1 to 9 do
begin
re:=[];
for k:= 1 to 9 do
if not(a[k,j] in re) then re:=re+[a[k,j]]
else flag:=false;
end;
for j:= 0 to 2 do
for k:= 0 to 2 do
begin
re:=[];
for l:= 1 to 3 do
for m:= 1 to 3 do
if not(a[l+3*j,m+3*k] in re) then re:=re+[a[l+3*j,m+3*k]]
else flag:=false;
end;
if flag then writeln('Right') else writeln('Wrong');终于又让我找到一道。。。巨水的题,水漫金山。。。
纯种的模拟。。。类型上写出来嘛 -
02008-10-14 18:53:31@
可以用方差来判断的~~HOHO~~蛮方便的~~
s:=0;
for y:=1 to 9 do
s:=s+sqr(a[x,y]-5);
if s60 then
exit(false);
保证不会出错的~ -
02008-10-05 17:28:50@
Water...........
-
02008-10-05 10:33:32@
Hint:
不能边读入边判断,而应该读入一个完整数独后再判断
否则判断'Wrong'退出后 读入的下个数独的数据 实际仍从上个数独的中断处继续
to 错了第2和第9个点的朋友 -
02008-10-05 00:55:31@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms此题我的小问题不断
不易啊。。。 -
02008-09-29 16:17:21@
枚举
-
02008-09-28 19:04:21@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
好郁闷。终于编出个耗时0的了 -
02008-09-23 21:26:38@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms好水的题,好烦的题!!!
#include
int map[9][9],n;
bool check[10],flag;
int main(){
int n,i,j,a,b;
scanf("%d",&n);
while (n>0){
n--;
for (i=0;i -
02008-09-20 15:54:26@
为什么2和9会错误……OTZ……
本人用的绝对正统判断方法……… -
02008-09-16 14:57:52@
100Programs Accepted!
by eagle Libonan Gessica$ MadDog
-
02008-09-09 21:21:33@
无比萎缩的程序
人生最长的程序,,
哈哈··
138行!
无比郁闷!
不过用复制很快!
10分钟搞点
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02008-09-05 16:04:14@
PROGRAM p1335;
var k1,k2,wh,i,j,k,m,n:longint;
ok:boolean;
a:array[0..10,0..10]of integer;
t:array[0..10]of boolean;
begin
readln(n);
for wh:=1 to n do
begin
for i:=1 to 9 do
begin
for j:=1 to 9 do
read(a);
readln;
end;
ok:=true;
for i:=1 to 9 do
begin
fillchar(t,sizeof(t),0);
for j:=1 to 9 do
if (a9) then
ok:=false
else
t[a]:=true;
for j:=1 to 9 do
if not t[j] then
ok:=false;
end;
for j:=1 to 9 do
begin
fillchar(t,sizeof(t),0);
for i:=1 to 9 do
if (a9) then
ok:=false
else
t[a]:=true;
for i:=1 to 9 do
if not t[i] then
ok:=false;
end;
for k1:=0 to 6do
if k1 mod 3=0 then
for k2:=0 to 6 do
if k2 mod 3=0 then
begin
fillchar(t,sizeof(t),0);
for i:=k1+1 to k1+3 do
for j:=k2+1 to k2+3 do
if (a9) then
ok:=false
else
t[a]:=true;
for i:=1to 9 do if not t[i] thenok:=false;
end;
if ok then writeln('Right')
else writeln('Wrong');
end;
end.编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02008-08-31 20:47:51@
虽然还在编译,但是很猥琐……
for m:=1 to 9 do
if a[m,1]+a[m,2]+a[m,3]+a[m,4]+a[m,5]+a[m,6]+a[m,7]+a[m,8]+a[m,9]45 then
o:=false;
for n:=1 to 9 do
if a[1,n]+a[2,n]+a[3,n]+a[4,n]+a[5,n]+a[6,n]+a[7,n]+a[8,n]+a[9,n]45 then
o:=false;
if (a[1,1]+a[1,2]+a[1,3]+a[2,1]+a[2,2]+a[2,3]+a[3,1]+a[3,2]+a[3,3]45)or
(a[1,4]+a[1,5]+a[1,6]+a[2,4]+a[2,5]+a[2,6]+a[3,4]+a[3,5]+a[3,6]45)or
(a[1,7]+a[1,8]+a[1,9]+a[2,7]+a[2,8]+a[2,9]+a[3,7]+a[3,8]+a[3,9]45)or
(a[4,1]+a[4,2]+a[4,3]+a[5,1]+a[5,2]+a[5,3]+a[6,1]+a[6,2]+a[6,3]45)or
(a[4,4]+a[4,5]+a[4,6]+a[5,4]+a[5,5]+a[5,6]+a[6,4]+a[6,5]+a[6,6]45)or
(a[4,7]+a[4,8]+a[4,9]+a[5,7]+a[5,8]+a[5,9]+a[6,7]+a[6,8]+a[6,9]45)or
(a[7,1]+a[7,2]+a[7,3]+a[8,1]+a[8,2]+a[8,3]+a[9,1]+a[9,2]+a[9,3]45)or
(a[7,4]+a[7,5]+a[7,6]+a[8,4]+a[8,5]+a[8,6]+a[9,4]+a[9,5]+a[9,6]45)or
(a[7,7]+a[7,8]+a[7,9]+a[8,7]+a[8,8]+a[8,9]+a[9,7]+a[9,8]+a[9,9]45)then
o:=false; -
02008-08-25 11:07:57@
var
a:array[1..9,1..9]of longint;
s,h:array[1..9,1..9]of boolean;
q:array[1..9,1..9]of boolean;
i,j,n,p,qn:longint;
flag:boolean;
begin
readln(n);
for p:=1 to n do
begin
fillchar(s,sizeof(s),true); fillchar(h,sizeof(h),true); fillchar(q,sizeof(q),true);
flag:=true;
for i:=1 to 9 do
for j:=1 to 9 do read(a);
readln;
for i:=1 to 9 do
for j:=1 to 9 do
begin
qn:=((i-1)div 3)*3+(j-1)div 3+1;
if h[i,a] and s[j,a] and q[qn,a] then
begin
h[i,a]:=false; s[j,a]:=false; q[qn,a]:=false;
end
else begin flag:=false; break; end;
end;
if flag then writeln('Right')
else writeln('Wrong');
end;
end. -
02008-08-13 08:12:02@
位运算的胜利!
-
02007-12-11 08:03:10@
小心输入,没有读完一个数独的数而又已经能判断其为‘WRONG’时,直接跳到第2个数独,可能产生第2个和第9个测试数据错误
我牺牲了好多正确率得出的教训!!
可怜我的正确率呀 -
02007-11-23 20:39:25@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02007-11-12 12:29:19@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
so easy -
02007-11-08 22:49:09@
打到手酸,打了7KB的程序。
我是用模拟做的,你们呢?可以说是水题
欢迎加编程群:20413552