零点的鬼 2010-06-19 03:59:00
点我顶贴
收藏
删除
#include "stdio.h"
#include "string.h"
struct Yuju
{
char s[100];
int len;
int p;
};
int main()
{
int n,sum=0,q=0,jmp[500]={0};
char k;
struct Yuju g[201];
scanf("%d\n",&n);
for(int i=0;i<n;i++)
{
scanf("%c",&k);
while(k!='\n')
{
g[i].s[q]=k;
if(g[i].s[q-3]=='j' && g[i].s[q-2]=='m' && g[i].s[q-1]=='p' && g[i].s[q]==' ')
scanf("%d",&jmp[i]);
scanf("%c",&k);
q++;
}
g[i].len=strlen(g[i].s);
g[i].p=1;
q=0;
}
for(int i=0;i<n;i++)
{
if(g[i].p==1)
{
sum++;
for(int j=0;j+3<=g[i].len;j+=3)
{
if(g[i].s[j]=='j' && g[i].s[j+1]=='m' && g[i].s[j+2]=='p' && g[i].s[j+3]==' ')
{
g[i].p=0;
if(i==(n-1))
{
sum=0;
goto A;
}
else
{
i=jmp[i]-2;
break;
}
}
}
}
else
{
sum=0;
goto A;
}
}
A: printf("%d",sum);
return 0;
}
本来sum=0是break QR给50 后来改成goto 涛声依旧
求解