| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
谁能给个测试数据啊,俺的老WA#include <stdio.h>
#include <string.h>
#include <memory.h>
//2937
int main()
{
int n,len;
int m,r,i;
int flag;
int temp;
char line[1000200];
while(1)
{
scanf("%d",&n);
gets(line);
if(n==0)
break;
else
{
memset(line,0,sizeof(line));
//scanf("%s",&line);
gets(line);
//printf("%s\n",line);
len = strlen(line);
temp = 0;
m = 0;
r = 0;
for(i=0;i<len;i++)
{ //printf("line[%d] = %c\n",i,line[i]);
if(line[i]=='r')
{
flag = 0;
}
else if(line[i]=='m')
{
flag = 1;
}
else if(line[i]==' ')
{
//printf("temp == %d\n",temp);
if(flag==0)
{
if(m == 0)//仍然是原方向
{
r+=temp;
r%=n;
}
else // m==1
{
temp%=n;
r+=n;
r-=temp;
r%=n;
temp = 0;
}
}
else// flag == 1
{
m = (m+temp)%2;
temp = 0;
}
// printf("m = %d r = %d\n",m,r);
}
else //0-------9
{
temp*=10;
temp+=(line[i]-'0');
}
}//for
}//else
//printf("temp == %d\n",temp);
if(flag==0)
{
if(m == 0)//仍然是原方向
{
r+=temp;
r%=n;
}
else // m==1
{
temp%=n;
r+=n;
r-=temp;
r%=n;
}
}
else// flag == 1
{
m = (m+temp)%2;
}
//printf("m = %d r = %d\n",m,r);
if(m==0)
{
if(r!=0)
{
printf("r%d\n",r);
}
else
{
printf("\n");
}
}
else if(m==1)
{
if(r*2>n)
{
printf("m1 r%d\n",(n-r));
}
else
{
if(r!=0)
{
printf("r%d m1\n",r);
}
else
{
printf("m1\n");
}
}
}
}//while
return 0;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator