Pagini recente » Cod sursa (job #3193054) | Cod sursa (job #1917544) | Cod sursa (job #2124779) | Cod sursa (job #2171443) | Cod sursa (job #2210049)
#include <fstream>
#include <iostream>
using namespace std;
ifstream f("doipe.in");
ofstream g("doipe.out");
char s[2002];
int dp[2][2002];
int suma[2][2002];
const int mod=29997;
int main()
{
int t,n,i,j,k;
f>>t;
while(t--)
{
f>>n;
f>>s;
//cout<<s<<endl;
dp[1][1]=1;
suma[1][1]=1;
for(i=2;i<=n;i++)
{
for(j=1;j<=i;j++)
{
if(s[i-2]=='<')
dp[i%2][j]=suma[(i-1)%2][j-1];
else
dp[i%2][j]=(mod+suma[(i-1)%2][i-1]-suma[(i-1)%2][j-1])%mod;
suma[i%2][j]=(suma[i%2][j-1]+dp[i%2][j])%mod;
}
}
g<<suma[n%2][n]<<endl;
for(int i=0;i<=1;i++)
for(int j=1;j<=n;j++)
dp[i][j]=suma[i][j]=0;
}
return 0;
}