Gym 101102C Bored Judge(set--结构体集合)
这个故事告诉我们,WA了一定要找自己的原因... ...
当我开始用set去做的时候,发现一直过不去,一开始忘了把初始排名加进去,后来忘了第0秒,第0秒第一的id = 1
这个题目的做法也不只这一种,应该说这一种是最偷懒的.
代码如下:
#include<iostream>
#include<cstring>
#include<cstdio>
#include<set>
using namespace std;
#define N 100005
int s[N],win[N];
struct Node {
int id,sc;
Node(int i=,int s=) {
id = i;
sc = s;
}
bool operator < (Node A) const {
if(A.sc != sc) return sc > A.sc;
else return id < A.id;
}
};
set<Node> st;
set<Node>::iterator it;
int main() {
// freopen("C.in.cpp","r",stdin);
int T,n,q,x,p;
scanf("%d",&T);
while(T--) {
st.clear();
memset(s,,sizeof(s));
scanf("%d%d",&n,&q);
for(int i = ; i <= n; i++) {
st.insert(Node(i,));
}
win[] = ;
for(int i = ; i <= q; i++) {
scanf("%d%d",&x,&p);
st.erase(Node(x,s[x]));
s[x] += p;
st.insert(Node(x,s[x]));
it = st.begin();
Node tmp = *it;
win[i] = (*it).id;
}
int i;
for(i = q; i >= ; i--) {
if(win[i] != win[i-]) {
break;
}
}
printf("%d\n",i);
}
return ;
}
Gym 101102C Bored Judge(set--结构体集合)的更多相关文章
- C# 结构体集合元素属性不可修改疑惑
背景:用C#的人都知道结构体在C#中是值类型的,由于这个原因出现了一个有趣的问题,那就是结构体集合通过数字索引修改对应属性的值能不能影响到集合中的结构体呢?答案很多人可能会说不能,因为结构体是值类型的 ...
- c# 结构体 集合 复习
添加5个学生的信息到集合中,每个学生都有:学号,姓名,成绩,3个内容,添加完毕后将学生的分数从高到低排列并打印出来,使用结构体 using System; using System.Collectio ...
- iOS 阶段学习第十天笔记(结构体)
iOS学习(C语言)知识点整理 一.数据结构 1)概念:数据结构是指计算机程序中所操作的对象——数据以及数据元素之间的相互关系和运算. 2)结构体必须有struct 关键字修饰. 实例代码: stru ...
- [C#参考]Struct结构体
结构体是一种简单的用户自定义类型,也是类的一种轻量级的替代品. 相似之处:他们都有构造函数.属性.方法.字段.操作符.嵌套类型和索引器. 差异之处:类是一种引用类型,而结构体是一种值类型.因此结构体一 ...
- 4-17疑难点 c语言之【结构体对齐】
今天学习了结构体这一章节,了解到了结构体在分配内存的时候采取的是对齐的方式 例如: #include<stdio.h> struct test1 { int a; char b; shor ...
- 例题:超市买东西的程序。输入商品信息,计算价格,价格满多少元打折。这道题用到结构体,集合,for循环,if else语句
知识要点: 集合和数组的区别:数组是连续的,同一类型的一块区域,而集合可以是不连续的,多种数据类型的. 集合属性:.count 方法:.Add() 将对象添加到ArrayList中实际包含的元素数 ...
- c#---部分;把数组或者结构体存入集合里,然后再从集合中取出之后,输出;foreach既可以用到提取数组重点额数据,也可以提取集合中的数据(前提是集合中的元素是相同数据类型)
1.输入班级人数,统计每个人的姓名,性别,年龄:集合与数组 //Console.Write("请输入班级人数:"); //int a = int.Parse(Console.Rea ...
- c# 课堂总结6 --集合与结构体
一.集合 使用时必须添加 System.Collections 集合与数组的区别: 1:数组声明了它容纳的元素的类型,而集合不声明.这是由于集合以object形式来存储它们的元素.初始化时集合无需定义 ...
- 【2017-03-02】C#集合,结构体,枚举
集合 集合与数组的区别 数组:同一类型,固定长度 集合:不同类型,不固定长度 使用集合前需要: 引用命名空间:using System.Collections; 1.普通集合 定义: Arra ...
随机推荐
- 保护模式特权级别DPL,RPL,CPL 之间的联系和区别
RPL是段选择子里面的bit 0和bit 1位组合所得的值,但这里要首先搞清楚什么是段选择子,根据Intel 的文件(IA-32 IntelR Architecture Software Develo ...
- Spring实战——通过Java代码装配bean
上篇说的是无需半行xml配置完成bean的自动化注入.这篇仍然不要任何xml配置,通过Java代码也能达到同样的效果. 这么说,是要把上篇的料拿出来再煮一遍? 当然不是,上篇我们几乎都在用注解的方式如 ...
- 【CSS学习笔记】a标签的四种伪类
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...
- java.lang.IllegalAccessError: tried to access method com.google.common.base.Stopwatch.<init>()V from 解决
在用spark的yarn-cluster模式跑fpgrowth进行频繁项集挖掘的时候,报如下错误: ERROR yarn.ApplicationMaster: User class threw exc ...
- openstack私有云布署实践【8.2 身份认证keystone的API创建(办公网环境)】
其中一台controller上面加入环境变量,我选controller1,关注的是endpoint的名称不一样,其它创建的参数与生产环境一致 export OS_TOKEN=venicchina ex ...
- html的map自适应
Map常识 请自己看吧:http://www.w3school.com.cn/tags/tag_map.asp Map自适应 <!DOCTYPE html> <html> &l ...
- 怎样通过WireShark抓到的包分析出SIP流程图
WireShark抓到了SIP包, 逐条分析, 看瞎...希望能够写个脚本, 自动生成流程图
- Could not locate executable E:\SoftWave\Hadoop-2.2.0\bin\winutils.exe in the Hadoop binaries解决办法
需要下载windows版本 bin目录下的文件,替换hadoop目录下原来的bin目录下的文件.下载网址是: https://github.com/srccodes/hadoop-common-2.2 ...
- javaScript设计模式之常用工厂模式
工厂函数 定义 由一个工厂对象决定创建某一种产品对象类的实例,主要用来创建同一类对象. 使用场景 比如说你是到一个买宠物的店,里面有很多不同的宠物,你只需要说出宠物的名字给店员就行了. // 狗的类 ...
- MVC-Area
ASP.NET MVC中,是依靠某些文件夹以及类的固定命名规则去组织model实体层,views视图层和控制层的.如果是大规模的应用程序,经常会由不同功能的模块组成,而每个功能模块都由MVC中的三层所 ...