代码如下,全RE,呜呜
//开灯
#include<stdio.h>
#define limit_up 2000000
int light[limit_up+1]; //从下标为1处开始用,让下标等于编号.上限2000000
int main(void)
{
int i;
for(i=1;i<=limit_up;i++)
light[i] = 0;//一开始都是关的
double a;
int t;
int n;
int end = 0;//操作到的最大编号
int j;
int flag;//取整下标
scanf("%d",&n);//操作次数
for(i=1;i<=n;i++)
{
scanf("%lf %d",&a,&t);
if((int)(t*a) > end)
end = (int)(t*a);//更新最大编号
for(j=a;j<=t*a;j+=a)
for(j=1;i<=t;j++)
{
flag = (int)(j*a);
if(light[flag] == 0)
light[flag] = 1;
else
light[flag] = 0;//改变灯的开关状态
}
}
int no;
for(i=1;i<=end;i++)
{
if(light[i] == 1)
{
no = i;//开着的灯的编号
break;
}
}
printf("%d\n",no);
return 0;
}