[CSP-S模拟测试]:笨小猴(随机化)
题目传送门(内部题118)
输入格式
输入第一行是一个整数$n$,意义如以上所示。
接下来有$2n+1$行,每行为两个正整数,第$i$行的两个正整数分别代表$A_i$和$B_i$。
输出格式
如果无法选出$n+1$张卡片满足驴蛋蛋的要求,输出一个数$-1$。
否则输出$n+1$行,每行有一个正整数,表示选出的卡片编号(从$1$开始)。如果有多解,输出任意一组解均可
样例
样例输入:
2
4 2
9 4
5 3
7 5
8 1
样例输出:
3
4
2
数据范围与提示
样例$1$解释:
选择顺序随意,选择第二,三,四张三张卡片,$A$的总和为$21$,$B$的总和为$12$,均大于剩下的卡片$A,B$之和。
数据范围:
共$10$组测试数据
对于前$3$组测试数据有第$p$组中$N=2\times p+1$
对于后$7$组测试数据有第$p$组中$N=p\times 10,000$
对所有测试数据$1\leqslant A_i,B_i\leqslant 10^9$
如果你通过某种方法$hack$掉了评测插件,你可以申请获得该测试点的分数=ω=
题解
随机划,没了……
随机打乱序列,取前$n+1$个,判断是够可行,不可行接着打乱,肯定不会存在$-1$。
千万记得开$long\ long$!!!
时间复杂度:$\Theta($玄学$)$。
期望得分:$30$分。
实际得分:$100$分。
代码时刻
#include<bits/stdc++.h>
using namespace std;
struct rec{int x,a,b;}e[300000];
int n;
long long suma,sumb;
int main()
{
srand(time(NULL));scanf("%d",&n);
for(int i=1;i<=2*n+1;i++)
{
e[i].x=i;
scanf("%d%d",&e[i].a,&e[i].b);
suma+=e[i].a;sumb+=e[i].b;
}
while(1)
{
long long A=0,B=0;
random_shuffle(e+1,e+2*n+2);
for(int i=1;i<=n+1;i++)
{
A+=e[i].a;
B+=e[i].b;
}
if(2*A-suma>0&&2*B-sumb>0)
{
for(int i=1;i<=n+1;i++)printf("%d\n",e[i].x);
return 0;
}
}
return 0;
}
rp++
[CSP-S模拟测试]:笨小猴(随机化)的更多相关文章
- 洛谷P1125——笨小猴(简易模拟)
https://www.luogu.org/problem/show?pid=1125 题目描述 笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼.但是他找到了一种方法,经试验证明,用这种方法去 ...
- noip2008 笨小猴
P1125 笨小猴 1.6K通过 3.7K提交 题目提供者该用户不存在 标签模拟2008NOIp提高组 难度普及- 提交该题 讨论 题解 记录 题目描述 笨小猴的词汇量很小,所以每次做英语选择题的 ...
- noip200805笨小猴
试题描述: 笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼.但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大!这种方法的具体描述如下:假设maxn是单词中出现次数最 ...
- [NOIP2008] 提高组 洛谷P1125 笨小猴
题目描述 笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼.但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大! 这种方法的具体描述如下:假设maxn是单词中出现次数最 ...
- 洛谷 P1125 笨小猴
P1125 笨小猴 题目描述 笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼.但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大! 这种方法的具体描述如下:假设max ...
- NOIP200805 笨小猴(低效算法)(一大桶水)【A006】
[A006]笨小猴[难度A]—————————————————————————————————————————————————————————————— [题目要求] 笨小猴的词汇量很小,所以每次做英 ...
- 笨小猴 2008年NOIP全国联赛提高组
题目描述 Description 笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼.但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大! 这种方法的具体描述如下:假设m ...
- P1010 笨小猴【tyvj】
/*=========================================================== P1010 笨小猴 描述 Description 笨小猴的词汇量很小,所以每 ...
- [TYVJ] P1010 笨小猴
笨小猴 背景 Background NOIP2008复赛提高组第一题 描述 Description 笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼.但是他找到了一种方法,经试验证明,用这种 ...
随机推荐
- js中onchange()的使用,实现功能,选择哪一张图片,显示哪一张
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 异常-throw的概述以及和throws的区别
package cn.itcast_06; /* * throw:如果出现了异常情况,我们可以把该异常抛出,这个时候的抛出的应该是异常的对象. * * throws和throw的区别(面试题) thr ...
- js 禁用F12 和右键查看源码
<script> window.onkeydown = function(e) { if (e.keyCode === 123) { e.preventDefault() } } wind ...
- 教你用python爬取网站美女图(附代码及教程)
我前几篇文章都是说一些python爬虫库的用法,还没有说怎样利用好这些知识玩一些好玩的东西.那我今天带大家玩好玩又刺激的,嘻嘻!对了,requests库和正则表达式很重要的,一定要学会!一定要学会!! ...
- 25 Python之模块与包
一.模块 模块就是一个包含了python定义和申明的文件,文件名就是模块的名字加上.py的后缀/ 模块的分类: 1.使用python编写的py文件 2.已被编译位共享库或者DLL或 ...
- python之BeautifulSoup4
阅读目录 1.Beautiful Soup4的安装配置 2.BeautifulSoup的基本用法 (1)节点选择器(tag) (2)方法选择器 (3)CSS选择器 (4)tag修改方法 Beautif ...
- vue-时间插件,效果见图
<template> <div class="select-time-wrapper"> <h5 class="titie"> ...
- Hadoop伪分布式重启正确流程
既然是伪分布式,那就不可避免的设计到重启Hadoop服务或者重启Hadoop服务器的情况,正确的停止和重启是很有必要的. 首先是Hadoop服务的停止,使用 ./sbin/stop-all.sh脚本来 ...
- Python内置函数清单
作者:Vamei 出处:http://www.cnblogs.com/vamei Python内置(built-in)函数随着python解释器的运行而创建.在Python的程序中,你可以随时调用这些 ...
- Java泛型:利用泛型动态确认方法返回值类型
根据泛型类型动态返回对象 public <T extends PackObject> T unPackMessage(String interfaceCode, String respVa ...