洛谷题解 P1161 【开灯】

洛谷题解 P1161 【开灯】

题目

本道题是真的水,虽然某些巨佬用了很高级的写法,但作为一个蒟蒻,只能用模拟做。

本题照样分为几个部分:

1、思路

先建一个全部为0的数组,如果开灯就改为1,如果关灯就再改回1

2、代码段落

①输入+判断

for(int i=1;i<=n;i++){
    cin>>x>>y;
    for(double j=1;j<=y;++j){
        if(a[int(j*x)]==0) a[int(j*x)]=1;
        else a[int(j*x)]=0;
    }
}

②判断+输出

for(int i=1;;i++){
    if(a[i]==1){
        cout<<i;
            break;
    }
}

3、AC代码

#include
using namespace std;
int a[2000001],n;
double x,y;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>x>>y;
        for(double j=1;j<=y;++j){
            if(a[int(j*x)]==0) a[int(j*x)]=1;
            else a[int(j*x)]=0;
        }
    }
    for(int i=1;;i++){
        if(a[i]==1){
            cout<<i;
            break;
        }
    }
    return 0;
} 

最后的最后,点个赞在走吧!

你可能感兴趣的:(洛谷题解 P1161 【开灯】)