Показать все ветки Спрятать все ветки Показать все сообщения Спрятать все сообщения | Weak test 2 | FatalityNT | 1433. Тетраэдры | 20 фев 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. Тетраэдры | 14 авг 2015 23:02 | 1 | Idea Felix_Mate 14 авг 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. Тетраэдры | 26 фев 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 фев 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. Тетраэдры | 27 янв 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. Тетраэдры | 20 янв 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. Тетраэдры | 3 янв 2014 15:32 | 1 | test case : RGBY RGBY answer : equal | Why WA 12? Help! | Ignat Zakrevsky | 1433. Тетраэдры | 15 дек 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. Тетраэдры | 15 мар 2012 17:21 | 5 | #WA8 Berbinschi Tudor 15 мар 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. Тетраэдры | 10 дек 2011 20:13 | 2 | tests Childofbodom 23 июл 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. Тетраэдры | 12 ноя 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. Тетраэдры | 10 авг 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. Тетраэдры | 14 апр 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. Тетраэдры | 26 июл 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. Тетраэдры | 30 май 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. Тетраэдры | 18 дек 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. Тетраэдры | 21 сен 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 дек 2006 01:37 Re: Roma Labish[Lviv NU] 23 дек 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 дек 2006 01:49 I don't know what you changed in your source... Re: Roma Labish[Lviv NU] 23 дек 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 дек 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 дек 2006 02:35 2x0.5 or 1.00 litr? Maybe, it will tomorrow:) Re: Ostap Korkuna (Lviv NU) 23 дек 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 дек 2006 03:16 Vodka is good, but beer it's beer. In beer we beer-beer Re: Roma Labish[Lviv NU] 24 дек 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. Тетраэдры | 26 апр 2007 12:50 | 3 | WA#2 Aytbaev Madiyar TKTL 19 окт 2006 08:26 Study More Alexander Prokazyuk (TKTL) 21 окт 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. Тетраэдры | 14 окт 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. Тетраэдры | 2 авг 2006 15:22 | 1 | who can bring me some tests?thank you very much ! | COMPILATION ERROR | MiR | 1433. Тетраэдры | 22 июл 2006 18:16 | 2 | Can i use strstr() or strcmp() or strcat() functions with or without "#include <string.h>"? Yes (-) Anton [SUrSU] 22 июл 2006 18:16 |
|
|