Problem Type : Ad hoc
#include<stdio.h>
#include<string>
#include<iostream>
#include<math.h>
#define MAX 101
using namespace std;
int ans=0;
string s[MAX];
void check(string m)
{
int len,i,j=0;
if(m=="RIGHT")
{
ans+=1;
}
else if(m=="LEFT")
{
ans-= 1;
}
else
{
len=m.length();
int k=0;
for(i=len-1; i>=0; i--)
{
if(m[i]==' ')
{
break;
}
else
{
j+=(m[i]-48)*pow(10,k);
}
k++;
}
check(s[j-1]);
}
}
int main()
{
int test,n,i,j,len;
scanf("%d",&test);
char ch[MAX];
while(test--)
{
for(i=0;i<101;i++)
{
s[i].clear();
}
scanf("%d",&n);
getchar();
ans=0;
for(i=0; i<n; i++)
{
getline(cin,s[i]);
j=0;
check(s[i]);
}
printf("%d\n",ans);
}
}
#include<stdio.h>
#include<string>
#include<iostream>
#include<math.h>
#define MAX 101
using namespace std;
int ans=0;
string s[MAX];
void check(string m)
{
int len,i,j=0;
if(m=="RIGHT")
{
ans+=1;
}
else if(m=="LEFT")
{
ans-= 1;
}
else
{
len=m.length();
int k=0;
for(i=len-1; i>=0; i--)
{
if(m[i]==' ')
{
break;
}
else
{
j+=(m[i]-48)*pow(10,k);
}
k++;
}
check(s[j-1]);
}
}
int main()
{
int test,n,i,j,len;
scanf("%d",&test);
char ch[MAX];
while(test--)
{
for(i=0;i<101;i++)
{
s[i].clear();
}
scanf("%d",&n);
getchar();
ans=0;
for(i=0; i<n; i++)
{
getline(cin,s[i]);
j=0;
check(s[i]);
}
printf("%d\n",ans);
}
}
No comments:
Post a Comment