Afişează mesaje
|
Pagini: [1]
|
3
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 484 Numere 5
|
: Aprilie 28, 2009, 19:53:23
|
pffffffff deci am facut-o in doua moduri... 1. cu vector de 500.000 imi iese la 3 teste din memorie desi pe forum zice lumea ca le-a intrat: #include<fstream.h>
char a[500005];
int main() { ifstream fin("numere5.in"); ofstream fout("numere5.out"); long i,n,aux,auxi; fin>>n; aux=n*n; if(aux>500000) aux=500000; for(i=1;i<=aux;i++) { fin>>auxi; if(auxi) a[auxi]=1; } for(i=1;i<=aux;i++) if(a[i]==0) { fout<<i<<" "; break; } for(i=aux;i>=1;i--) if(a[i]==0) { fout<<i<<"\n"; break; } return 0; }
2. cu sume si iau incorect pe 4 teste si cu formula chiar cea de mai sus pentru capetele de interval #include<fstream.h>
int main() { ifstream fin("numere5.in"); ofstream fout("numere5.out"); long i,n,aux,auxi,suma=0,sumb=0,a,b=0,x; fin>>n; aux=n*n;
if(aux>500000) aux=500000;
for(i=1;i<=aux;i++) { suma+=i; fin>>auxi; if(auxi) sumb+=auxi; else b++; }
a=suma-sumb; x=(a-(b*b+b)/2)/b;
fout<<x+1<<" "<<x+b;
fin.close(); fout.close();
return 0; }
deci pe bune nu stiu care e greseala in niciuna dintre ele dar ma frustreaza 0-ul
|
|
|
5
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 789 Marmote
|
: Martie 12, 2009, 18:14:16
|
#include<fstream> #include<math.h>
using namespace std;
int main() { ifstream fin("marmote.in"); ofstream fout("marmote.out"); int a[1001][2]; int n,m,k,l,i,j,ii,jj,aux=1,flag,contor=1; fin>>n>>m>>k>>l; fout<<1<<"\n"; fin>>ii>>jj; a[aux][0]=ii; a[aux][1]=jj; fin.close(); for(i=1;i<=k-1;i++) { fin>>ii>>jj; contor++; flag=1; for(j=1;j<=aux;j++) if(!(abs(a[j][0]-ii)+abs(a[j][1]-jj)>2*l)) flag=0; if(flag) { a[++aux][0]=ii; a[aux][1]=jj; fout<<contor<<"\n"; } } fout.close(); return 0; } nu pot sa inteleg ce crapa...am facut pe 100 de exemple si merge perfect
|
|
|
|