Cod sursa(job #19673)
Utilizator | Data | 19 februarie 2007 20:44:17 | |
---|---|---|---|
Problema | Culori | Scor | 24 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.84 kb |
#include<stdio.h>
int a[257][257];
int i;
int s[257];
int k;
int n;
int j;
int main()
{
freopen("culori.in","r",stdin);
freopen("culori.out","w",stdout);
scanf("%d",&n);
n*=2;
n-=1;
for(i=1;i<=n;i++)
{
scanf("%d",&s[i]);
a[i][i]=1;
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
if (s[j]==s[i+j])
{
for(k=j+1;k<=i+j;k++)
{
a[j][i+j]=(a[j][i+j]+a[j+1][k]*a[k+1][i+j])%9901;
}
}
}
}
printf("%d",a[1][n]);
return 0;
}