题解

205 条题解

  • 0
    @ 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

  • 0
    @ 2008-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 有效耗时:0ms

    flag:=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');

    终于又让我找到一道。。。巨水的题,水漫金山。。。

    纯种的模拟。。。类型上写出来嘛

  • 0
    @ 2008-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);

    保证不会出错的~

  • 0
    @ 2008-10-05 17:28:50

    Water...........

  • 0
    @ 2008-10-05 10:33:32

    Hint:

      不能边读入边判断,而应该读入一个完整数独后再判断

    否则判断'Wrong'退出后 读入的下个数独的数据 实际仍从上个数独的中断处继续

    to 错了第2和第9个点的朋友

  • 0
    @ 2008-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

    此题我的小问题不断

    不易啊。。。

  • 0
    @ 2008-09-29 16:17:21

    枚举

  • 0
    @ 2008-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的了

  • 0
    @ 2008-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

  • 0
    @ 2008-09-20 15:54:26

    为什么2和9会错误……OTZ……

    本人用的绝对正统判断方法………

  • 0
    @ 2008-09-16 14:57:52

    100Programs Accepted!

    by eagle Libonan Gessica$ MadDog

  • 0
    @ 2008-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

  • 0
    @ 2008-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] then

    ok:=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

  • 0
    @ 2008-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;

  • 0
    @ 2008-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.

  • 0
    @ 2008-08-13 08:12:02

    位运算的胜利!

  • 0
    @ 2007-12-11 08:03:10

    小心输入,没有读完一个数独的数而又已经能判断其为‘WRONG’时,直接跳到第2个数独,可能产生第2个和第9个测试数据错误

    我牺牲了好多正确率得出的教训!!

    可怜我的正确率呀

  • 0
    @ 2007-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

  • 0
    @ 2007-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

  • 0
    @ 2007-11-08 22:49:09

    打到手酸,打了7KB的程序。

    我是用模拟做的,你们呢?

    可以说是水题

    欢迎加编程群:20413552

信息

ID
1335
难度
4
分类
模拟 点击显示
标签
递交数
5130
已通过
1978
通过率
39%
被复制
20
上传者