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的应用(现在会了~
  • 相关阅读:
    操作系统典型调度算法
    C++ volatile 关键字
    vue class绑定 组件
    yarn 基本用法
    vscode 插件安装以及首选项配置
    git 多人协作
    git Feature分支
    git Bug分支
    git 分支策略
    git 解决冲突
  • 原文地址:https://www.cnblogs.com/h404nofound/p/10786232.html
Copyright © 2011-2022 走看看