zoukankan      html  css  js  c++  java
  • 2019新生赛 %%%xxh

    笔记.md                                                                                                                                                   9/16/2019

    %%%xxh

    题目背景

    小A是一名新入ACM协会的萌新,众所周知acm的训练日常就是水群膜大佬于是小A也加入了%群巨的行列中

    输入格式

    每行(不超过100行)包含一个被':'分隔开的字符串S(|S|<=100,)代表了一个人的QQid和他所说的话

    输出格式

    对于每个人说的话,如果他和前面某个人说过的话相同,则输出"%%%" + 最后一个说过这句话的人的QQid,如果他说"+1",输入前面一个人说的话,否则输出他本来说的话. 输入样例1

    xxh:hehe ac:%%%xxh wa:xxhorz A:xxhtql

    输出样例

    hehe

    %%%xxh

    xxhorz xxhtql

    输入样例2

    xxh:abcdefg ac:abcdefg wa:+1 tle:wqe re:abcdefg

    输出样例2

    abcdefg %%%xxh abcdefg wqe

    %%%ac

    #include<bits/stdc++.h>
    using namespace std;
    typedef pair<int,int> pii;
    const int N = 110;
    struct node {
        string name;
        string meg;
    };
    node a[N];
    string s;
    int main(int argc, char *argv[]) {
        int idx = 0,pos,sign;
        while(cin >> s) {
            sign = 0;
            pos = s.find(':');
            a[idx].name = s.substr(0,pos);//截取 
            a[idx].meg  = s.substr(pos+1,s.size()-pos-1);
            if(a[idx].meg == "+1") {
                cout << a[idx-1].meg << endl;
                sign = 1;
            }
            for(int i=idx-1; i>=0; --i) {
                if(a[i].meg == a[idx].meg) {
                    cout << "%%%" << a[i].name << endl;
                    sign = 1;
                    break;
                }
            }
            if(!sign)   cout << a[idx].meg << endl;
            idx++;
        }
        return 0;
    }

     

     

     

     

     

     

  • 相关阅读:
    【数论】线性模方程
    【数论】拓展欧几里得
    BZOJ1433: [ZJOI2009]假期的宿舍
    BZOJ2823: [AHOI2012]信号塔
    BZOJ1088: [SCOI2005]扫雷Mine
    BZOJ1257: [CQOI2007]余数之和sum
    BZOJ1227: [SDOI2009]虔诚的墓主人
    BZOJ1856: [Scoi2010]字符串
    BZOJ1084: [SCOI2005]最大子矩阵
    BZOJ2007: [Noi2010]海拔
  • 原文地址:https://www.cnblogs.com/QingyuYYYYY/p/11817096.html
Copyright © 2011-2022 走看看