Pagini recente » Clasament id | Cod sursa (job #1359100) | Cod sursa (job #1067178) | Cod sursa (job #1374292) | Cod sursa (job #54652)
Cod sursa(job #54652)
#include<stdio.h>
int st[101],n,a[101][101],smax=10000;
FILE*g=fopen("cc.out","w");
void initializari()
{
int i,j;
FILE*f=fopen("cc.in","r");
fscanf(f,"%d",&n);
st[0]=0;
for(i=1;i<=100;i++)
{
st[i]=0;
for(j=1;j<=n;j++) fscanf(f,"%d",&a[i][j]);
}
}
void sum(int p)
{int i,s=0;
for(i=1;i<=p;i++)
s+=a[i][st[i]];
if(s<smax) smax=s;}
int valid(int p)
{
int i,ok;
ok=1;
for(i=1;i<p;i++) if (st[i]==st[p]) {ok=0; break;}
return ok;
}
void bkt(int p)
{
int pval;
for(pval=1;pval<=n;pval++)
{
st[p]=pval;
if (valid(p))
{
if (p==n) sum(p);
else bkt(p+1);
}
}
}
int main()
{
initializari();
bkt(1);
fprintf(g,"%d",smax);
return 0;}