Cod sursa(job #1480465)
Utilizator | Data | 2 septembrie 2015 17:11:33 | |
---|---|---|---|
Problema | Cutii | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 3.66 kb |
#include <fstream>
using namespace std;
ifstream f("cutii.in");
ofstream g("cutii.out");
int main()
{
int n,m,i,L[4/*501*/],l[4/*501*/],h[4/*501*/],matrice[4/*501*/][4],aux,j=0,k=1,nrc=0,auxx;
bool ok=0;
f>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=3;j++)
matrice[i][j]=j;
while(m)
{
for(i=1;i<=n;i++)
{
f>>L[i]>>l[i]>>h[i];
}
do
{
ok=0;
for(i=1;i<n;i++)
if(L[i]>L[i+1])
{
aux=L[i];
L[i]=L[i+1];
L[i+1]=aux;
ok=1;
auxx=matrice[k][i];
matrice[k][i]=matrice[k][i+1];
matrice[k][i+1]=auxx;
}
}while(ok);
k++;
do
{
ok=0;
for(i=1;i<n;i++)
if(l[i]>l[i+1])
{
aux=l[i];
l[i]=l[i+1];
l[i+1]=aux;
ok=1;
auxx=matrice[k][i];
matrice[k][i]=matrice[k][i+1];
matrice[k][i+1]=auxx;
}
}while(ok);
k++;
do
{
ok=0;
for(i=1;i<n;i++)
if(h[i]>h[i+1])
{
aux=h[i];
h[i]=h[i+1];
h[i+1]=aux;
ok=1;
auxx=matrice[k][i];
matrice[k][i]=matrice[k][i+1];
matrice[k][i+1]=auxx;
}
}while(ok);
int ajut=1;
bool okk=1;
while(ajut<=n&&nrc<n)
{
if(ajut==1)
{
for(i=ajut+1;i<=n;i++)
{
for(j=1;j<=3;j++)
{
if(matrice[ajut][j]!=matrice[i][j])
okk=0;
}
if(okk==1)
nrc++;
else
okk=1;
}
}
else if(ajut==n)
{
for(i=ajut-1;i>=1;i--)
{
for(j=n;j>=1;j--)
{
if(matrice[ajut][j]!=matrice[i][j])
okk=0;
}
if(okk==1)
nrc++;
else
okk=1;
}
}
else
{
for(i=ajut+1;i<=n;i++)
{
for(j=1;j<=3;j++)
{
if(matrice[ajut][j]!=matrice[i][j])
okk=0;
}
if(okk==1)
nrc++;
else
okk=1;
}
for(i=ajut-1;i>=1;i--)
{
for(j=n;j>=1;j--)
{
if(matrice[ajut][j]!=matrice[i][j])
okk=0;
}
if(okk==1)
nrc++;
else
okk=1;
}
}
ajut++;
}
if(nrc>n)
{
nrc=nrc-(nrc-n);
}
g<<nrc<<'\n';
nrc=0;
m--;
k=1;
}
return 0;
}