Cod sursa(job #2538544)
Utilizator | Data | 4 februarie 2020 20:29:06 | |
---|---|---|---|
Problema | Zone | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 3.54 kb |
#include <iostream>
using namespace std;
int vc[10],v[10],a[512][512];
int main()
{
int n,m,i,j,l1,c1,l2,c2,s;
cin>>n;
m=n;
for(i=1;i<=9;i++)
cin>>v[i];
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
cin>>a[i][j];
a[i][j]+=a[i][j-1]+a[i-1][j]-a[i-1][j-1];
}
for(l1=1;l1<=n;l1++)
for(c1=1;c1<=m;c1++){
s=a[l1][c1];
for(i=1;i<=9;i++)
vc[i]=0;
for(i=1;i<=9;i++)///1
{
if(v[i]==s)
{
vc[i]=1;
i=20;
}
}
if(i>=20){
for(l2=l1+1;l2<=n;l2++){
s=a[l2][c1]-a[l1][c1];
for(i=1;i<=9;i++)///4
{
if(v[i]==s && !vc[i])
{
vc[i]=2;
i=20;
}
}
if(i>=20)
{
s=a[n][c1]-a[l2][c1];
for(i=1;i<=9;i++)///7
{
if(v[i]==s && !vc[i])
{
vc[i]=3;
i=20;
}
}
for(c2=c1+1;c2<=m;c2++)
{
s=a[l1][c2]-a[l1][c1];
for(i=1;i<=9;i++)///2
{
if(v[i]==s && !vc[i])
{
vc[i]=4;
i=20;
}
}
if(i>=20)
{
s=a[l1][m]-a[l1][c2];
for(i=1;i<=9;i++)///3
{
if(v[i]==s && !vc[i])
{
vc[i]=5;
i=20;
}
}
if(i>=20)
{
s=a[l2][c2]-a[l2][c1]-a[l1][c2]+a[l1][c1];
for(i=1;i<=9;i++)///5
{
if(v[i]==s && !vc[i])
{
vc[i]=6;
i=20;
}
}
if(i>=20)
{
s=a[l2][m]-a[l2][c2]-a[l1][m]+a[l1][c2];
for(i=1;i<=9;i++)///6
{
if(v[i]==s && !vc[i])
{
vc[i]=7;
i=20;
}
}
if(i>=20)
{
s=a[n][c2]-a[n][c1]-a[l2][c2]+a[l2][c1];
for(i=1;i<=9;i++)///8
{
if(v[i]==s && !vc[i])
{
vc[i]=8;
i=20;
}
}
if(i>=20)
{
cout<<l1<<" "<<c1<<" "<<l2<<" "<<c2;
l1=l2=c1=c2=max(n,m)+1;
}
}
}
else
for(i=1;i<=9;i++)
if(vc[i]>=5)
vc[i]=0;
}
else
for(i=1;i<=9;i++)
if(vc[i]>=4)
vc[i]=0;
}
else
for(i=1;i<=9;i++)
if(vc[i]>=3)
vc[i]=0;
}
}
else
for(i=1;i<=9;i++)
if(vc[i]>=2)
vc[i]=0;
}
}
else
for(i=1;i<=9;i++)
if(vc[i]>=1)
vc[i]=0;
}
return 0;
}