Afişează mesaje
Pagini: [1]
1  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 026 Energii : Martie 26, 2017, 15:27:23
Buna ziua!
ideea mea este simpla: o dinamica in care a[ i ] [ j ] reprezinta costul minim pentru a produce j energie folosind cel mult i generatoare.  iau WA pe testele 14 si 19 de care s-a mai intrebat, dar nu am gasit nimic sa ma ajute, asa ca rog pe cineva sa imi dea un indiciu sau un exemplu contradictoriu.
2  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 476 Cartele : Martie 28, 2016, 16:10:39
#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";

nu poti compara mai mult de 2 termeni deodata,ce vrei tu sa faci se scrie corect: if(ok==ok1 && ok1==ok2 && ok2==1)...
Pagini: [1]
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines