首页 > 代码库 > Gym 101102C Bored Judge(set--结构体集合)
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=0,int s=0) { 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,0,sizeof(s)); scanf("%d%d",&n,&q); for(int i = 1; i <= n; i++) { st.insert(Node(i,0)); } win[0] = 1; for(int i = 1; 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 >= 1; i--) { if(win[i] != win[i-1]) { break; } } printf("%d\n",i); } return 0; }
Gym 101102C Bored Judge(set--结构体集合)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。