Show all threads Hide all threads Show all messages Hide all messages | Weak test 2 | FatalityNT | 1433. Diamonds | 20 Feb 2020 05:36 | 1 | My submission (8764478) goes wrong on the following tests, but it has an AC on the judge system. The right answer for all test cases below is "equal". RRGB GRBR RRGY GRYR RRBG BRGR RRBY BRYR RRYG YRGR RRYB YRBR RGRB BRGR RGRY YRGR RGBR GRBR RGYR GRYR RBRG GRBR RBRY YRBR RBGR BRGR RBYR BRYR RYRG GRYR RYRB BRYR RYGR YRGR RYBR YRBR GRGB BGRG GRGY YGRG GGBR BGRG GGBY BGYG GGYR YGRG GGYB YGBG GBRG BGRG GBGY YGBG GBYG BGYG GYRG YGRG GYGB BGYG GYBG YGBG BRBY YBRB BGBY YBGB BBYR YBRB BBYG YBGB BYRB YBRB BYGB YBGB | Idea | Felix_Mate | 1433. Diamonds | 14 Aug 2015 23:02 | 1 | Idea Felix_Mate 14 Aug 2015 23:02 1 2 3 4 1 3 4 2 1 4 2 3 2 4 3 1 2 3 1 4 2 1 4 3 3 2 4 1 3 4 1 2 3 1 2 4 4 2 1 3 4 1 3 2 4 3 2 1 Edited by author 14.08.2015 23:03 | Weak tests (+) | dAFTc0d3r [Yaroslavl SU] | 1433. Diamonds | 26 Feb 2014 22:34 | 3 | I know AC solution, that won't pass this test: RGBR BGRR Also test BGRR RGBR may be added. Edited by author 29.08.2010 05:26 Re: WA#35 † SiriuS † [TWYT Union] 26 Feb 2014 22:34 I got WA#35)). But this tests helped me to get AC. Thanks.) Edited by author 26.02.2014 22:35 Edited by author 26.02.2014 22:35 | Easy solution | adamant | 1433. Diamonds | 27 Jan 2014 19:30 | 1 | We can just rotate our second diamond and compare it to the first diamond. Like this: for(int i=0;i<4;i++) {for(int j=0;j<3;j++) {if(a==b) {cout<<"equal"<<endl;return 0;} // Rotate diamond around current base-face string x=e+b[2]+b[3]+b[1]; b=b[0]+x;} string t="abcd"; // Change base-face if(i!=2) {t[0]=b[1];t[1]=b[3]; t[2]=b[2];t[3]=b[0];} else {t[0]=b[2];t[1]=b[1]; t[2]=b[3];t[3]=b[0];} b=t;} | #WA 5. Help! | Anatoly | 1433. Diamonds | 20 Jan 2014 19:56 | 1 | Please give any tests. I tried some but my program succesfully done them.. | If you have WA #10... Try this test. | Adhambek | 1433. Diamonds | 3 Jan 2014 15:32 | 1 | test case : RGBY RGBY answer : equal | Why WA 12? Help! | Ignat Zakrevsky | 1433. Diamonds | 15 Dec 2012 00:14 | 2 | Var a,b:array [0..3] of string; c,d:string[4]; N,I,J:LongInt; P:Boolean; Begin Readln(C); Readln(D); P:=FALSE; A[0]:=C[1];A[1]:=C[2];A[2]:=C[3];A[3]:=C[4]; B[0]:=D[1];B[1]:=D[2];B[2]:=D[3];B[3]:=D[4]; If A[0]=B[0] Then If ((A[1]=B[1]) and (A[2]=B[2]) and (A[3]=B[3])) or ((A[1]=B[3]) and (A[2]=B[1]) and (A[3]=B[2])) or ((A[1]=B[2]) and (A[2]=B[3]) and (A[3]=B[1])) Then P:=True; If A[0]=B[2] Then If ((A[1]=B[1]) and (A[2]=B[3]) and (A[3]=B[0])) or ((A[1]=B[3]) and (A[2]=B[0]) and (A[3]=B[1])) or ((A[1]=B[0]) and (A[2]=B[1]) and (A[3]=B[3])) Then P:=True; If A[0]=B[3] Then If ((A[1]=B[1]) and (A[2]=B[0]) and (A[3]=B[2])) or ((A[1]=B[2]) and (A[2]=B[1]) and (A[3]=B[0])) or ((A[1]=B[0]) and (A[2]=B[2]) and (A[3]=B[1])) Then P:=True; If P=True Then Writeln('equal') Else Writeln('different'); End. Say me why this program not work? Edited by author 01.12.2007 21:32 Edited by author 01.12.2007 21:33 | #WA8 | Berbinschi Tudor | 1433. Diamonds | 15 Mar 2012 17:21 | 5 | #WA8 Berbinschi Tudor 15 Mar 2012 16:44 Strange. Can you give me some test data for my C++ program? if ((sir[0]==sir1[1] && sir[1]==sir1[0] && sir[2]+sir[3]==sir1[2]+sir1[3]) || ((sir[3]==sir1[1] && sir[2]==sir1[0]) && (sir[0]==sir1[2] && sir[1]==sir1[3]))) cout <<"equal"; else { if (sir[0]==sir1[2] && sir[1]==sir1[3] && sir[3]==sir1[1] && sir[2]==sir1[0] ) cout <<"equal"; else { if (sir[0]==sir1[1] && sir[1]==sir1[3] && sir[2]==sir1[2] && sir[3]==sir1[0]) cout <<"equal"; else { if (sir[0]==sir1[0] && sir[1]==sir1[1] && sir[2]==sir1[2] && sir[3]==sir1[3]) cout <<"equal"; else { if (sir[3]==sir1[0]&&sir[2]==sir1[1]&&sir[1]==sir1[2]&&sir[0]==sir1[3]) cout <<"equal";
else cout <<"different"; } } } } My code seems legit. Tnx. All tests posted on the Forum (Discuss work for my program) Again working. Edited by author 15.03.2012 17:12 Edited by author 15.03.2012 17:24 Here: sir[2]==sir1[3] && sir[3]==sir1[2] YGBR GBRY should be different. :D sir[0]==sir1[1] && sir[1]==sir1[0] RRRR RRGG your algorithm's output is equal. :) (sir[3]=sir1[0]&&sir[2]=sir1[1]&&sir[1]=sir1[2]&&sir[0]=sir1[3]) - is equal Try it: RGBY YBGR I'm not sure it's right, but you can try. :) | tests | Childofbodom | 1433. Diamonds | 10 Dec 2011 20:13 | 2 | tests Childofbodom 23 Jul 2009 03:51 please,somebody! take me tests!!! wa on 1st test :/ but work on all my tests GRBY YGBR equal BBGY GYBB equal YGBR GBRY different BYRG GYRB different | Anyone help me please! I have WA #12 :( | Enigma [UB of TUIT] | 1433. Diamonds | 12 Nov 2010 14:49 | 1 | Why WA#12?????? This my code: import java.util.Scanner; public class T_1433 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s_1 = sc.next(); String asos = s_1.substring(0,1);// tetraedr asosi String left = s_1.substring(1,2);// tetraedr chap tamoni String right = s_1.substring(2,3);// tetraedr o'ng tamoni String back = s_1.substring(3,4);// tetraedr orqa tamoni String s_2 = sc.next(); // 2-tetraedr... boolean equal = false; //-------------------------- if(asos.equals(s_2.substring(0,1))){ if(left.equals(s_2.substring(1,2)) && right.equals(s_2.substring(2,3))&& back.equals(s_2.substring(3,4))) equal = true; if(left.equals(s_2.substring(2,3)) && right.equals(s_2.substring(3,4))&& back.equals(s_2.substring(1,2))) equal = true; if(left.equals(s_2.substring(3,4)) && right.equals(s_2.substring(1,2))&& back.equals(s_2.substring(2,3))) equal = true; } //---------------------------- asos = s_1.substring(1,2); left = s_1.substring(3,4); right = s_1.substring(0,1); back = s_1.substring(2,3); if(asos.equals(s_2.substring(0, 1))){ if(left.equals(s_2.substring(1,2)) && right.equals(s_2.substring(2,3))&& back.equals(s_2.substring(3,4))) equal = true; if(left.equals(s_2.substring(2,3)) && right.equals(s_2.substring(3,4))&& back.equals(s_2.substring(1,2))) equal = true; if(left.equals(s_2.substring(3,4)) && right.equals(s_2.substring(1,2))&& back.equals(s_2.substring(2,3))) equal = true; } //------------------------------ asos = s_1.substring(2,3); left = s_1.substring(0,1); right = s_1.substring(3,4); back = s_1.substring(1,2); if(asos.equals(s_2.substring(0, 1))){ if(left.equals(s_2.substring(1,2)) && right.equals(s_2.substring(2,3))&& back.equals(s_2.substring(3,4))) equal = true; if(left.equals(s_2.substring(2,3)) && right.equals(s_2.substring(3,4))&& back.equals(s_2.substring(1,2))) equal = true; if(left.equals(s_2.substring(3,4)) && right.equals(s_2.substring(1,2))&& back.equals(s_2.substring(2,3))) equal = true; } //-------------------------------- asos = s_1.substring(3,4); left = s_1.substring(2,3); right = s_1.substring(1,2); back = s_1.substring(0,1); if(asos.equals(s_2.substring(0, 1))){ if(left.equals(s_2.substring(1,2)) && right.equals(s_2.substring(2,3))&& back.equals(s_2.substring(3,4))) equal = true; if(left.equals(s_2.substring(2,3)) && right.equals(s_2.substring(3,4))&& back.equals(s_2.substring(1,2))) equal = true; if(left.equals(s_2.substring(3,4)) && right.equals(s_2.substring(1,2))&& back.equals(s_2.substring(2,3))) equal = true; } if(equal)System.out.println("equal"); else System.out.println("different"); } } | who can find out my mistake? | free | 1433. Diamonds | 10 Aug 2010 17:28 | 2 | program timus; var a,b,c:string; procedure solving; var i,j:longint; check:boolean; d:char; begin check:=false; c:=''; c:=c+b[1]+b[2]+b[3]+b[4]; for i:=1 to 4 do begin d:=c[2]; c[2]:=c[3]; c[3]:=c[4]; c[4]:=d; if c=a then check:=true; end; c:=''; c:=c+b[2]+b[3]+b[1]+b[4]; for i:=1 to 4 do begin d:=c[2]; c[2]:=c[3]; c[3]:=c[4]; c[4]:=d; if c=a then check:=true; end; c:=''; c:=c+b[3]+b[1]+b[2]+b[4]; for i:=1 to 4 do begin d:=c[2]; c[2]:=c[3]; c[3]:=c[4]; c[4]:=d; if c=a then check:=true; end; c:=''; c:=c+b[4]+b[2]+b[3]+b[1]; for i:=1 to 4 do begin d:=c[2]; c[2]:=c[3]; c[3]:=c[4]; c[4]:=d; if c=a then check:=true; end; if check=true then writeln('equal') else writeln('different'); end; begin readln(a); readln(b); SOLVING; end. c:=c+b[4]+b[2]+b[1]+b[3]; | WA Test 18 | JohNY_green | 1433. Diamonds | 14 Apr 2010 13:10 | 1 | I got WA at test18, can somebody give some test or hint, please? | Strange algo for solving this problem | Sergiy_PMI_LNU | 1433. Diamonds | 26 Jul 2008 23:32 | 4 | There is some strange algo, but AC. let we have two arrays of char[5]; Then we compare first diamond with SOME permutations of second, but that permutations is 1234 1342 1423 2143 2314 ... i.e. we miss two permutations of lexicographic sequence of all permutations, the take two, then miss two again. int compare_condition = 1; while (1) { if (compare_condition < 2) compare(diamond1, diamond2); if (eq){ cout << "equal" << endl; return 0; } compare_condition++; compare_condition %= 4; if (!next_permutation(p.begin(), p.end())) break; } This code works, but why??? Can anybody prove it??? Strange algo, isn't??? ATTENTION, PEOPLE! IT IS WRONG !!! Edited by author 18.12.2007 21:12 | WA#13 here is my code | Samvel | 1433. Diamonds | 30 May 2008 11:33 | 3 | can you dive me test for WA#13 here is the code #include<string.h> #include<iostream.h> main () { bool p=true; char a[4], b[4], d[4], e[4], t; int r1=0, g1=0, b1=0, y1=0, r2=0, g2=0, b2=0, y2=0, kol=0, k=0, c[4]={0,0,0,0}, i, j; for (i=0; i<4; i++) cin>>a[i]; for (i=0; i<4; i++) cin>>b[i]; for (i=0; i<4; i++) { if (a[i]=='R') r1++; else if (a[i]=='G') g1++; else if (a[i]=='B') b1++; else y1++; if (b[i]=='R') r2++; else if (b[i]=='G') g2++; else if (b[i]=='B') b2++; else y2++; } if (r1!=r2 || g1!=g2 || b1!=b2 || y1!=y2) cout<<"different"; else { for (i=0; i<4; i++) if (a[i]==b[i]) { c[i]=1; kol++; } if (kol>=3) cout<<"equal"; else if (kol==2) { if (r1>=3 || g1>=3 || b1>=3 || y1>=3) cout<<"equal"; else if (r1==2 || g1==2 || b1==2 || y1==2) { for (i=0; i<4; i++) if (c[i]==1) d[k++]=a[i]; if (d[0]==d[1]) cout<<"different"; else cout<<"equal"; } else cout<<"different"; } else if (kol==1) cout<<"equal"; else { k=0; for (i=0; i<4; i++) if (c[i]==0) { d[k]=a[i]; e[k++]=b[i]; } for (i=0; i<4; i++) { t=d[0]; d[0]=d[3]; d[3]=d[2]; d[2]=d[1]; d[1]=t; for (j=0; j<4; j++) if (d[j]!=e[j]) p=false; if (p) { cout<<"equal"; return 0; } else p=true; } if (d[1]==e[2] && d[2]==e[1]) cout<<"equal"; else if (d[0]==e[3] && d[3]==e[0]) cout<<"equal"; else cout<<"different"; } } return 0; } Thank you, now I've got AC. But test 13 is RGBY YRGB different | wa at#16 | grand | 1433. Diamonds | 18 Dec 2007 17:55 | 5 | who can bring me some tests?thank you very much ! WA#32 such as RGBY GRYB => `egual` 26 such as RGBY BYRG => eq 16 such as RGBY YBGR => eq | Can anybody explain me, WHY FUCKIN CRASH(STACK OVERFLOW)?????? | Roma Labish[Lviv NU] | 1433. Diamonds | 21 Sep 2007 22:02 | 13 | [code deleted] Edited by author 23.12.2006 01:27 TRY THIS FUCKIN TEST: RRRR BBBB your function check() - leads to infinite recursion... Hmm... Thank's... (З мене пиво:)) Re: Ostap Korkuna (Lviv NU) 23 Dec 2006 01:37 Re: Roma Labish[Lviv NU] 23 Dec 2006 01:48 Two beers, if you tell me, why fuckin:) WA6... Edited by author 23.12.2006 01:49 Re: Ostap Korkuna (Lviv NU) 23 Dec 2006 01:49 I don't know what you changed in your source... Re: Roma Labish[Lviv NU] 23 Dec 2006 01:57 I added the function, that calculate number of faces in both Diamonds: [code deleted] Edited by author 23.12.2006 02:36 Re: Ostap Korkuna (Lviv NU) 23 Dec 2006 02:25 Test for you: RGYB RBYG the answer must be "different", but your program writes "equal"... I suggest you to make a diamond from paper and check all your rotating procedures. Some of them (at least two: back & full_rotate) are incorrect... Hint (solution :-) ): you have to rotate the first diamond with all possible ways (there are only 12 ways) and every time check if it is equal to second one. Re: Roma Labish[Lviv NU] 23 Dec 2006 02:35 2x0.5 or 1.00 litr? Maybe, it will tomorrow:) Re: Ostap Korkuna (Lviv NU) 23 Dec 2006 02:48 I don't drink beer before the contest. And after the contest I will be drinking vodka! :-) Re: Roma Labish[Lviv NU] 23 Dec 2006 03:16 Vodka is good, but beer it's beer. In beer we beer-beer Re: Roma Labish[Lviv NU] 24 Dec 2006 00:42 I'm going crazy.I've remade my program in that way, what you tell me, but Now I have WA13...:(( Edited by author 24.12.2006 00:45 function q(a,b,c,d,e,f,g,h:char):boolean; begin if ((e=a) and (f=b) and (g=c) and (h=d)) or ............. {всевозможные перестановки граней 1-го тетраэдра} ............. or ((e=d) and (f=a) and (g=c) and (h=b)) then q:=true else q:=false; end; var a,b,c,d,e,f,g,h:char; x,y:string[4]; begin readln(x); readln(y); a:=x[1]; b:=x[2]; c:=x[3]; d:=x[4]; e:=y[1]; f:=y[2]; g:=y[3]; h:=y[4]; if ((q(a,b,c,d,e,f,g,h))=true) or ((q(a,b,c,d,e,g,h,f))=true) or ................ {всевозможные перестановки граней 2-го тетраэдра} ................ ((q(a,b,c,d,h,f,e,g))=true) or ((q(a,b,c,d,h,e,g,f))=true) then writeln('equal') else writeln('different'); end. | WA#2 | Aytbaev Madiyar TKTL | 1433. Diamonds | 26 Apr 2007 12:50 | 3 | WA#2 Aytbaev Madiyar TKTL 19 Oct 2006 08:26 Study More Alexander Prokazyuk (TKTL) 21 Oct 2006 22:32 Edited by author 27.11.2007 16:59 tnx Edited by author 26.04.2007 12:54 Edited by author 26.04.2007 12:54 | Please Help WA test 11 | Alexander Prokazyuk (TKTL) | 1433. Diamonds | 14 Oct 2006 09:47 | 1 | Sorry I have deleted it... Edited by author 27.11.2007 16:58 | why I had done wrong?who can bring me some tests?thank you very much ! | prix | 1433. Diamonds | 2 Aug 2006 15:22 | 1 | who can bring me some tests?thank you very much ! | COMPILATION ERROR | MiR | 1433. Diamonds | 22 Jul 2006 18:16 | 2 | Can i use strstr() or strcmp() or strcat() functions with or without "#include <string.h>"? Yes (-) Anton [SUrSU] 22 Jul 2006 18:16 |
|
|