zoukankan      html  css  js  c++  java
  • 2019年ZSTU4月月赛

    问题 A: 我不会做

    时间限制: 1 Sec  内存限制: 128 MB

    题目描述

    众所周知,duxing201606就是plw. 

    然而已经9102年了,plw仍旧没有npy。plw非常难过,于是他打开了他熟悉的zhihu.com/search 想找到原因 

     

    看了高赞回答后,plw感觉这辈子脱单渺茫,于是去找某C姓半仙算了一卦自己未来的npy. 

    只见那C姓半仙拿出一瓶5L的肥宅快乐水,且向青空径直撒了一把M记薯条,嘴里念念有词,霎时间,龙吟虎啸,鹤唳莺鸣,肥宅欢乐水便全部转移到了plw面前的铜盂中,说来也神了,那薯条到了盂中便组成了一个个汉字: 

    “眉如翠羽,肌似羊脂。脸衬桃花瓣,鬟堆金凤丝。秋波湛湛妖娆态,春笋纤纤娇媚姿” 

    plw看了之后非常开心,赶忙接着问C半仙自己什么时候能找到npy,C半仙知道plw对二进制很熟悉,于是给他提了一个问题并告知plw他要的答案就在这个问题的答案中: 

    给定一个X(若X为小数则取整数部分),如果X在二进制形式下所有位都为1,则输出X在二进制下的位数,反之则输出 

    Areyou[really*X]sure??):[pardon*X]??? 

    其中需要注意的是上述字符串中[string*X]代表连续输出string字符串X(向上取整)次,且各个字母之间无空格,建议直接从题面复制 

    输入

    文件第一行一个正整数T(T<=10) 

    接下来有T行,每行给定一个非负数X(X<=1<<20) 

    输出

    T行,每行一个正整数或一段字符串 

    样例输入

    1
    3


    样例输出
    2

     1 /*题解A:
     2 按题意输出,请注意”??(“一起输出, 在评测中会被当成’[‘,所以要分开输出,还有要看清楚什么时候向上取整,什么时候向下取整。(Trigraph了解一下,C语言没学好害人啊)*/
     3 
     4 #include<stdio.h>
     5 int main() {
     6    int   t,  i;
     7    long long s = 0,n = 1;
     8    double x;
     9    int intx,doux;
    10    scanf("%d",&t);
    11    while(t--){
    12     s = 0,n = 1 ;
    13     scanf("%lf",&x);
    14     intx = (int)x;doux = ((int)(x*10)) % 10;
    15 
    16   //  printf("%d %d
    ",intx,doux);
    17     for( i = 1 ; i <= 62;i++){
    18         s+=n;
    19         if(s == intx)break;
    20         n*=2;
    21         if(s > intx) i = 63;
    22    //     printf("%d %d %d
    ",s,n,intx) ;
    23     }
    24     if(i <= 62) printf("%d
    ",i);
    25     else {
    26      if(doux > 0)intx++; //printf("%d
    ",intx);
    27      printf("Areyou");
    28      for(i = 0 ; i < intx;i++)printf("really");
    29      printf("sure??");printf("):");
    30      for(i = 0 ; i < intx;i++)printf("pardon");
    31      printf("???
    ");
    32     }
    33 }
    34       return 0;
    35  }
    A

    A题补题地址: http://47.96.116.66/problem.php?id=1908

    • 这道题要注意的只有trigraph和向上取整     //谁知道自己为什么这么久了还不知道向上取整呢,,可能这就是菜还懒吧。
    • 清楚这两点这题就很好写了,数据不大,甚至比自己设想的还要小很多。

    //月赛本来是请假了的,还剩两小时打算过来签到结果签到失败,一是确实不知道trigraph,二是因为u盘没带机房电脑自带只有cfree(用的gcc),然后就车祸现场——爆零了

    //后面还有一道题签到失败,下个页面再说吧


    1914: 我会尽量做

    时间限制: 1 Sec  内存限制: 128 MB

    题目描述

    duxing哥正在参加一场比赛,这个比赛中有n个题目,第i题名字为s[i],有a[i]个测试数据。duxing哥很随性,每次他会点开一个题目,然后提交一份代码,不管这份代码返回结果是什么,都会找下一个题。duxing哥深谋远虑,所以他知道这份代码能够通过多少组测试数据(哪怕该题的测试数据没有这么多)。 

    这个比赛出题人很逊,数据经常会出问题,出了问题就只能去添加测试数据,当然,添加测试数据后,之前该题的代码都要重判。 
    现在给你m次duxing哥和出题人的操作,问最后duxing哥AC了几道题。如果duxing哥一个题提交了多次,那么以能通过测试数据最多的代码为准。

    输入

    第一行一个n,m,表示题目数,操作数(1<=n<=2e4 1<=m<=1e5) 

    接下来n行,每行1个字符串代表s[i],1个数代表a[i],分别代表该题的名字,该题测试数据的数量。(名字5字符以内,由大写字母组成) 

    接下来m行,每行输入数据为 x s t,x为0或1,s为题目名字,t为一个数字 

    当x为1时,代表duxing哥给名字为s的题目交了一份能通过t个测试数据的代码 

    当x为2时,代表出题人将名字为s的题目的测试数据增加t个 

      
    保证操作时题目的名字在上面的n道题之内

    输出

    一个数字,代表duxing哥的AC数 

    样例输入

    5 7
    A 12
    B 7
    C 16
    D 8
    E 15
    1 A 16
    2 B 2
    1 B 8
    1 D 20
    2 A 4
    2 E 20
    1 D 5

    样例输出

    2
    #include<string>
    #include<iostream>
    #include<cstdio>
    #include<map>
    const int N=100000+10;
    using namespace std;
    int a[N],b[N];
    int n,m,flag,num,ans,count;
    char name[10];
    map<string,int> ac;
    int main(){
     
        scanf("%d%d",&n,&m);
        for(int i = 1;i <= n; i++){
            scanf("%s%d",name,&num);
            if(!ac[name])ac[name] = ++count;
            a[ac[name]] = num;
        }
        for(int i = 1; i <= m; i++){
            scanf("%d%s%d",&flag,name,&num);
            if(flag == 1){
                b[ac[name]] = max(num,b[ac[name]]);
            }
            else {
                a[ac[name]] += num;
            }
        }
        for(int i = 1; i <= count; i++){
            if(a[i] <= b[i])
                ans++;
        }
        printf("%d
    ",ans);
        return 0;
    }
    G——map

    G题补题地址:http://47.96.116.66/problem.php?id=1914

    • 用map和二分都可以写,事实上自己还是不完全明白map的应用(现在会了~
  • 相关阅读:
    hdu 3342 Legal or Not 拓排序
    hdu 1596 find the safest road Dijkstra
    hdu 1874 畅通工程续 Dijkstra
    poj 2676 sudoku dfs
    poj 2251 BFS
    poj Prime Path BFS
    poj 3278 BFS
    poj 2387 Dijkstra 模板
    poj 3083 DFS 和BFS
    poj 1062 昂贵的聘礼 dijkstra
  • 原文地址:https://www.cnblogs.com/h404nofound/p/10786232.html
Copyright © 2011-2022 走看看