Titlul: 476 Cartele Scris de: Adrian Diaconu din August 13, 2007, 22:41:18 Aici puteţi discuta despre problema Cartele (http://infoarena.ro/problema/cartele).
Titlul: Răspuns: 476 Cartele Scris de: Radu Zernoveanu din Ianuarie 23, 2008, 13:05:22 Cate moduri de a baga cartela sunt? :?
[Later edit: Am refacut problema considerand ca sunt 8 moduri de a baga cartela si am luat 100 puncte! Multumesc oricum!] Titlul: Răspuns: 476 Cartele Scris de: Zaharia Radu din Martie 03, 2010, 08:53:16 8 moduri?putem sa introducem cartela si cu fata cealalta?
Titlul: Răspuns: 476 Cartele Scris de: Cosmin-Mihai Tutunaru din Martie 03, 2010, 10:28:48 8 moduri?putem sa introducem cartela si cu fata cealalta? Păi da. Doar așa se pot obține 8 moduri. Câte 4 pe fiecare față. Titlul: Răspuns: 476 Cartele Scris de: popa camil din Martie 16, 2011, 20:01:03 incercati sa desenati o cartela pe hartie si decupati-o. o sa vedeti ca-s patru moduri. daca o intorci pe partea cealalta obtii exact aceleasi 4 moduri ca si pe prima
Titlul: Răspuns: 476 Cartele Scris de: Simoiu Robert din Martie 16, 2011, 20:02:13 Gresit. Gandeste-te ca ai un CD. E totuna daca il pui normal, sau invers ? Si aici e la fel, conteaza cum bagi cartela, pentru ca se presupune ca are un cod unic pe fiecare fata. ( asta ca o explicatie )
Titlul: Răspuns: 476 Cartele Scris de: Cobzaru Adrian-Andrei din Martie 27, 2012, 16:29:44 Iau doar primele 3 teste, pe ultimele 7 am WA.Am tratat toate cele 8 cazuri posibile, nu ma puteti ajuta?Si as vrea si niste teste, daca se poate.
Titlul: Răspuns: 476 Cartele Scris de: George Marcus din Martie 27, 2012, 16:49:02 Sunt disponibile testele si pe site-ul oficial si pe infoarena la Downloads.
Titlul: Răspuns: 476 Cartele Scris de: Cobzaru Adrian-Andrei din Martie 27, 2012, 17:13:14 Ok.Am luat cateva teste si am vazut ca nu e corecta solutia mea.Eu fac asa cele 8 teste:
1.testez matricea citita 2.rotesc 90 grade stanga matricea de la 1 3.rotesc 90 grade stanga matricea de la 2 4.rotesc 90 grade stanga matricea de la 3 5.intorc cu 180 de grade matricea de la 1(linia 1-linia n,linia2-linia n-1....) 6.rotesc 90 grade stanga matricea de la 5 7.rotesc 90 grade stanga matricea de la 6 8.rotesc 90 grade stanga matricea de la 7 E gresit? Titlul: Răspuns: 476 Cartele Scris de: Matusa Alexandru din Martie 02, 2015, 17:42:51 #include <iostream>
#include <cmath> #include <fstream> using namespace std; int n,k,card[1000][1000],c,b,l,vari,ok1,ok,ok2,i,w,ok3,ok4,ok5,ok6,ok7,ok8,s; int main() { ifstream f("cartele.in"); ofstream g("cartele.out"); f>>n>>k; for(l=1; l<=n+k*n; l++) for(c=1;c<=n;c++) f>>card[l][c]; for(i=1;i<=k;i++){ w=1; if((card[1][w]==card[n+1][w])&&(card[1][w+1]==card[n+1][w+1])&&(card[1][w+2]==card[n+1][w+2])) ok=1; else if((card[1][w]==card[n+1][w+2])&&(card[1][w+1]==card[n+2][w+2])&&(card[1][w+2]==card[n+3][w+2])) ok=1; else if((card[1][w]==card[n+3][w])&&(card[1][w+1]==card[n+3][w+1])&&(card[1][w+2]==card[n+3][w+2])) ok=1; else if((card[1][w]==card[n+1][w])&&(card[1][w+1]==card[n+2][w+1])&&(card[1][w+2]==card[n+3][w+2])) ok=1; else ok=0; if (card[2][w+1]==card[n+2][w+1]) ok1=1; else ok1=0; if((card[2][w]==card[n+1][w])&&(card[2][w+1]==card[n+1][w+1])&&(card[2][w+2]==card[n+1][w+2])) ok1=1; else if((card[2][w]==card[n+2][w])&&(card[2][w+1]==card[n+2][w+1])&&(card[2][w+2]==card[n+2][w+2])) ok1=1; else if((card[2][w]==card[n+3][w])&&(card[2][w+1]==card[n+3][w+1])&&(card[2][w+2]==card[n+3][w+2])) ok1=1; else ok1=0; if((card[3][w]==card[n+1][w])&&(card[3][w+1]==card[n+1][w+1])&&(card[3][w+2]==card[n+1][w+2])) ok2=1; else if((card[3][w]==card[n+2][w])&&(card[3][w+1]==card[n+2][w+1])&&(card[3][w+2]==card[n+2][w+2])) ok2=1; else if((card[3][w]==card[n+3][w])&&(card[3][w+1]==card[n+3][w+1])&&(card[3][w+2]==card[n+3][w+2])) ok2=1; else ok2=0; if (ok==ok1==ok2==1) g<<"1"<<"\n"; else g<<"0"<<"\n"; n=n+n;} f.close (); g.close (); return 0; } asta e programul meu, ce sa fac sa scada memoria care o ocupa, si la teste imi zici Compilare: user.cpp: In function ‘int main()’: user.cpp:32:11: warning: suggest parentheses around comparison in operand of ‘==’ [-Wparentheses] if (ok==ok1==ok2==1) g<<"1"<<"\n"; ^ user.cpp:32:16: warning: suggest parentheses around comparison in operand of ‘==’ [-Wparentheses] if (ok==ok1==ok2==1) g<<"1"<<"\n"; Titlul: Răspuns: 476 Cartele Scris de: Neghina Dragos din Martie 28, 2016, 16:10:39 #include <iostream> nu poti compara mai mult de 2 termeni deodata,ce vrei tu sa faci se scrie corect: if(ok==ok1 && ok1==ok2 && ok2==1)...#include <cmath> #include <fstream> using namespace std; int n,k,card[1000][1000],c,b,l,vari,ok1,ok,ok2,i,w,ok3,ok4,ok5,ok6,ok7,ok8,s; int main() { ifstream f("cartele.in"); ofstream g("cartele.out"); f>>n>>k; for(l=1; l<=n+k*n; l++) for(c=1;c<=n;c++) f>>card[l][c]; for(i=1;i<=k;i++){ w=1; if((card[1][w]==card[n+1][w])&&(card[1][w+1]==card[n+1][w+1])&&(card[1][w+2]==card[n+1][w+2])) ok=1; else if((card[1][w]==card[n+1][w+2])&&(card[1][w+1]==card[n+2][w+2])&&(card[1][w+2]==card[n+3][w+2])) ok=1; else if((card[1][w]==card[n+3][w])&&(card[1][w+1]==card[n+3][w+1])&&(card[1][w+2]==card[n+3][w+2])) ok=1; else if((card[1][w]==card[n+1][w])&&(card[1][w+1]==card[n+2][w+1])&&(card[1][w+2]==card[n+3][w+2])) ok=1; else ok=0; if (card[2][w+1]==card[n+2][w+1]) ok1=1; else ok1=0; if((card[2][w]==card[n+1][w])&&(card[2][w+1]==card[n+1][w+1])&&(card[2][w+2]==card[n+1][w+2])) ok1=1; else if((card[2][w]==card[n+2][w])&&(card[2][w+1]==card[n+2][w+1])&&(card[2][w+2]==card[n+2][w+2])) ok1=1; else if((card[2][w]==card[n+3][w])&&(card[2][w+1]==card[n+3][w+1])&&(card[2][w+2]==card[n+3][w+2])) ok1=1; else ok1=0; if((card[3][w]==card[n+1][w])&&(card[3][w+1]==card[n+1][w+1])&&(card[3][w+2]==card[n+1][w+2])) ok2=1; else if((card[3][w]==card[n+2][w])&&(card[3][w+1]==card[n+2][w+1])&&(card[3][w+2]==card[n+2][w+2])) ok2=1; else if((card[3][w]==card[n+3][w])&&(card[3][w+1]==card[n+3][w+1])&&(card[3][w+2]==card[n+3][w+2])) ok2=1; else ok2=0; if (ok==ok1==ok2==1) g<<"1"<<"\n"; else g<<"0"<<"\n"; n=n+n;} f.close (); g.close (); return 0; } asta e programul meu, ce sa fac sa scada memoria care o ocupa, si la teste imi zici Compilare: user.cpp: In function ‘int main()’: user.cpp:32:11: warning: suggest parentheses around comparison in operand of ‘==’ [-Wparentheses] if (ok==ok1==ok2==1) g<<"1"<<"\n"; ^ user.cpp:32:16: warning: suggest parentheses around comparison in operand of ‘==’ [-Wparentheses] if (ok==ok1==ok2==1) g<<"1"<<"\n"; |