题解:P1161 开灯
_WorldHello_ · · 题解
题目大意
给定
对于第
求最后一盏亮着灯的位置。
解决思路
考虑枚举。
- 定义一个数组
cnt 表示当前灯是否开着。 - 按题目意思模拟即可。
AC代码
#include<bits/stdc++.h> using namespace std; int n,t[5005]; double a[5005]; int cnt[2000005]; int main(){ //freopen(".in","r",stdin); //freopen(".out","w",stdout); //ios::sync_with_stdio(0); //cin.tie(0);cout.tie(0); cin>>n; for(int i=1;i<=n;i++) cin>>a[i]>>t[i]; //输入 for(int i=1;i<=n;i++){ for(int j=1;j<=t[i];j++){ int k=a[i]*j; cnt[k]=(cnt[k]+1)%2; }}//模拟开灯关灯 for(int i=1;;i++) if(cnt[i]==1) cout<<i,exit(0); //找出剩余亮着的一盏灯并输出 cout<<"Wow!I AK IOI!"<<endl; return 0; }