P1161 开灯

题目描述

在一条无限长的路上,有一排无限长的路灯,编号为1,2,3,4,…1,2,3,4,…。

每一盏灯只有两种可能的状态,开或者关。如果按一下某一盏灯的开关,那么这盏灯的状态将发生改变。如果原来是开,将变成关。如果原来是关,将变成开。

在刚开始的时候,所有的灯都是关的。小明每次可以进行如下的操作:

指定两个数,a,ta,t(aa为实数,tt为正整数)。将编号为[a],[2 \times a],[3 \times a],…,[t \times a][a],[2×a],[3×a],…,[t×a]的灯的开关各按一次。其中[k][k]表示实数kk的整数部分。

在小明进行了nn次操作后,小明突然发现,这个时候只有一盏灯是开的,小明很想知道这盏灯的编号,可是这盏灯离小明太远了,小明看不清编号是多少。

幸好,小明还记得之前的nn次操作。于是小明找到了你,你能帮他计算出这盏开着的灯的编号吗?

输入格式

第一行一个正整数nn,表示nn次操作。

接下来有nn行,每行两个数,a_i,t_ia**i,t**i。其中a_ia**i是实数,小数点后一定有66位,t_it**i是正整数。

输出格式

仅一个正整数,那盏开着的灯的编号。

输入输出样例

输入 #1复制

3
1.618034 13
2.618034 7
1.000000 21

输出 #1复制

20

说明/提示

记T=t_1+t_2+t_3+…+t_nT=t1+t2+t3+…+t**n

对于30%30%的数据,满足T \le 1000T≤1000

对于80%80%的数据,满足T \le 200000T≤200000

对于100%100%的数据,满足T \le 2000000T≤2000000

对于100%100%的数据,满足n \le 5000,1 \le a_i<1000,1 \le t_i \le Tn≤5000,1≤a**i<1000,1≤t**iT

数据保证,在经过nn次操作后,有且只有一盏灯是开的,不必判错。而且对于所有的 ii 来说,t_i\times a_it**i×a**i 的最大值不超过 2000000。


解法一:

#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
const int maxN=2e6;
bool light[maxN+5];//使用bool(true or false) 表示电灯的开关
int main(){int n;cin>>n;while(n--){double a;int t;cin>>a>>t;for(int i=1;i<=t;i++){int pos=a*i;light[pos]=!light[pos];} }//枚举for(int i=1;i<=maxN;i++){if(light[i]){cout<<i;break;}} return 0;
}

解法二:

#include<iostream>
#include<algorithm>
using namespace std;
const int maxN=2e6;
int light[maxN+5];
int main(){int n;cin>>n;double a;int t;for(int i=1;i<=n;i++){cin>>a>>t;for(int j=1;j<=t;j++){int pos=a*j;if(light[pos]==0) light[pos]=1;else light[pos]=0;}}for(int i=1;;i++){if(light[i]==1){cout<<i;break;}}return 0;
}

洛谷——P1161 开灯相关推荐

  1. Java 洛谷 P1161 开灯

    文章链接:https://www.luogu.com.cn/problem/P1161 代码如下: package com.gxuwz.yixin;import java.util.Scanner;/ ...

  2. 洛谷——P1876 开灯

    P1876 开灯 题目背景 该题的题目是不是感到很眼熟呢? 事实上,如果你懂的方法,该题的代码简直不能再短. 但是如果你不懂得呢?那...(自己去想) 题目描述 首先所有的灯都是关的(注意是关!),编 ...

  3. 巧用异或运算符(洛谷P1161题题解,Java语言描述)

    题目要求 P1161题目链接 分析 我们只需要设result=0,然后把所有的数异或一遍. 因为只有一盏灯是开的,也就是说,其他编号出现的次数都是成对的,异或结果都是0,剩下的那一个与0异或得它本身. ...

  4. 洛谷 P2962 [USACO09NOV]灯Lights

    P2962 [USACO09NOV]灯Lights 题目描述 Bessie and the cows were playing games in the barn, but the power was ...

  5. 洛谷 深基 第1部分 语言入门 第5章 数组与数据批量存储

    P1428 小鱼比可爱 小鱼比可爱 - 洛谷 P1427 小鱼的数字游戏 小鱼的数字游戏 - 洛谷 P5727 [深基5.例3]冰雹猜想 [深基5.例3]冰雹猜想 - 洛谷 P5727 [深基5.例3 ...

  6. 【OJ】洛谷数组题单题解锦集

    题单简介 题目解析 P1428 小鱼比可爱 P1427 小鱼的数字游戏 P5727[深基5.例3]冰雹猜想 P1047 校门外的树 P5728[深基5.例5]旗鼓相当的对手 P5729[深基5.例7] ...

  7. 【入门4】数组 (今天刷洛谷了嘛)

    几道纯模拟题没有写,暂且先放一下 P1428 小鱼比可爱 #include<iostream> #include<algorithm> #include<cstdio&g ...

  8. 洛谷入门篇的相关题解

    CF616A Comparing Two Long Integers 思路: 因为数字可能含有前导零,所以先对两个数字进行去除前导零的操作,操作后的两个数字如果位数相同,再逐位比较,否则,位数多的那个 ...

  9. 洛谷刷题C语言:【Mc生存】经验值、开灯、乘积最大3、三角函数、电梯里的爱情

    记录洛谷刷题QAQ 一.[Mc生存]经验值 题目背景 初一福利第2弹... 题目描述 话说 clearman 在 MC 世界开了个祥艺奶牛场,用熔浆.TNT 等丧心病狂的折磨牛,获取牛肉.牛奶等刷经验 ...

最新文章

  1. 虚幻UE4中如何采集360度全景图片和VR视频
  2. 【Python数据挖掘课程】四.决策树DTC数据分析及鸢尾数据集分析
  3. 使用Prometheus+Grafana 监控MySQL/MONGODB
  4. apt ubuntu 指定ipv4_macOS 下使用 Docker 搭建 ubuntu 环境
  5. 服务端架构设计及功能说明-续1
  6. Ambari安装之部署本地库(镜像服务器)(二)
  7. 一个前端UI资源共享网站
  8. excel将内容粘贴到筛选后的可见单元格
  9. apk改之理 java源码_ApkIDE改之理最新版+环境包下载
  10. BF-9500警用(PDT)数字集群通信系统
  11. SaaS是Software-as-a-Service(软件即服务)
  12. 赛码网笔试Java代码示例
  13. WeX5制作的app,界面模仿b站(哔哩哔哩弹幕视频网)客户端
  14. android手机拍摄视频格式,怎么用手机给自己拍摄的视频加上字幕?安卓手机视频编辑器给视频加字幕的方法...
  15. python图像拼接_python实现图像拼接
  16. Python 处理一对多考勤表
  17. 清理异常值(MAD:绝对中位差)
  18. 互联网快讯:米巴资本完成首期美元基金募集;极米投影产品双十一持续热销;SpaceX星链成立印度子公司
  19. 被迫停运|黑客组织攻击俄罗斯天然气公司石油网站
  20. Git 修改提交的用户名和邮箱名字

热门文章

  1. 数据库备份的几种方法
  2. 2015.12.21 内存管理(memory management)
  3. java http get和post请求
  4. 关于如何在Android、Java等非微软平台上建立高信任的SharePoint应用程序
  5. Linux系统编程(18)——正则表达式实用举例
  6. 合并模块和安装文件的区别
  7. DELL R340 14G服务器的RAID划分
  8. Ubuntu中DenyHosts安装及配置
  9. 【PostgreSQL-9.6.3】触发器实例
  10. 黑群硬盘休眠问题的一种解决思路(DS916+,DSM 6.1.7)