zoukankan      html  css  js  c++  java
  • 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
    ",i);
        }
        return 0;
    }
  • 相关阅读:
    emacs command
    emacs format
    attach
    虚拟ip
    emacs redo
    mariadb
    unsafe
    select, poll, epoll
    03基于python玩转人工智能最火框架之TensorFlow介绍
    03SQL语句
  • 原文地址:https://www.cnblogs.com/jifahu/p/5982145.html
Copyright © 2011-2022 走看看