Afişează mesaje
Pagini: [1]
1  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 211 Spirala : Mai 01, 2012, 17:26:11
Imi explica cineva va rog de ce iau 60 pct. pe varianta asta  Brick wall Am "Inccorect" pe 4 teste  Think

Cod:
#include <iostream>
#include <fstream>
using namespace std;
int a[100][100], a2[100][100],v[10001];
int main()
{
ifstream g("spirala.in");
ofstream h("spirala.out");
int n, m, x=1, r,ind=1;
g>>n;
g>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
g>>a[i][j];
r=a[1][2]-a[1][1];
for(int k=0;k<=(n*m)/2;k++)
{
for(int i=1+k;i<=m-k;i++) {int l=k+1; if(!a2[l][i])
{v[x]=a[l][i];x++; a2[l][i]=1;}}
for(int j=2+k;j<=n-k;j++) {int l=m-k; if(!a2[j][l])
{v[x]=a[j][l];x++; a2[j][l]=1;}}
for(int i=m-1-k;i>=1+k;i--) {int l=n-k; if(!a2[l][i])
{v[x]=a[l][i];x++; a2[l][i]=1;}}
for(int j=n-1-k;j>=2+k;j--) {int l=k+1; if(!a2[j][l])
{v[x]=a[j][l];x++; a2[j][l]=1;}}
}
x--;
for(int i=1;i<x;i++)
if(v[i]+r!=v[i+1]){ ind=0; h<<"NU\n"<<v[i]<<" "<<v[i+1];break;}
if (ind) h<<"DA\n"<<v[x];
return 0;
}

Editat de admin: Foloseste tagul "code" cand postezi surse.
2  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 211 Spirala : Aprilie 23, 2012, 19:35:14
Cred ca la dif gresesti...dif=a[1][2]-a[1][1] nu invers... Smile
Pagini: [1]
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines