P1161 开灯
Posted Kunkun只喝怡宝
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P1161 开灯相关的知识,希望对你有一定的参考价值。
接下来有n行,每行两个数,a_i,t_i。其中a_i是实数,小数点后一定有6位,t_i是正整数。
输出格式
仅一个正整数,那盏开着的灯的编号。
代码
虽然题目说的是无限个灯,但其实只需要a_i*t的最大值就可以了,也就是2000000个灯,灯只有开关两个状态,所以就用字符数组存储,这样最节省空间。
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,i,j,r,t;
double a;
char s[2000000];
memset(s,'0',sizeof(s));
cin>>n;
for(i=0;i<n;i++){
cin>>a>>t;
for(j=1;j<=t;j++){
r=(int)(a*j);
if(s[r]=='0') s[r]='1';
else s[r]='0';
}
}
i=1;
while(s[i]!='1')
i++;
cout<<i;
return 0;
}
以上是关于P1161 开灯的主要内容,如果未能解决你的问题,请参考以下文章