• [ An Ac a Day ^_^ ] CodeForces 586C Gennady the Dentist 模拟


    题意:

    n个小朋友去拔牙 每个小朋友在拔牙的时候会哭 哭声是vi分贝

    距离门口vi远的小朋友听到了哭声会害怕 他们的勇气值p会减少d

    如果勇气值p小于等于零 他们就会在门外哭并立即离开拔牙队列(回家找妈妈……)

    这个哭声门外所有的小朋友都能听到 所以这个哭声会同时减少所有小朋友的勇气值

    问最后有多少小朋友可以拔完牙

    思路:

    就是模拟一下这个过程

    好像后面的小朋友哭了对前面的小朋友没有影响

    WA了一次是因为结构体里没用long long……

     1 #include<stdio.h>
     2 #include<iostream>
     3 #include<algorithm>
     4 #include<math.h>
     5 #include<string.h>
     6 #include<string>
     7 #include<map>
     8 #include<set>
     9 #include<vector>
    10 #include<queue>
    11 #define M(a,b) memset(a,b,sizeof(a))
    12 using namespace std;
    13 typedef long long ll;
    14 struct child{
    15     ll vi,d,p;
    16 }child[4005];
    17 int cnt=0,ans[4005];
    18 int main(){
    19     int n;
    20     scanf("%d",&n);
    21     for(int i=1;i<=n;i++)
    22         scanf("%I64d%I64d%I64d",&child[i].vi,&child[i].d,&child[i].p);
    23     for(int i=1;i<=n;i++){
    24         if(child[i].p<0) continue;
    25         ans[cnt++]=i;
    26         ll v=child[i].vi,cry=0;
    27         for(int j=i+1;j<=n;j++){
    28             if(child[j].p<0) continue;
    29             child[j].p-=v+cry;
    30             v--;
    31             if(v<0) v=0;
    32             if(child[j].p<0) cry+=child[j].d;
    33         }
    34     }
    35     printf("%d
    ",cnt);
    36     for(int i=0;i<cnt;i++)
    37         printf("%d%c",ans[i],i==cnt-1?'
    ':' ');
    38     return 0;
    39 }
    40 /*
    41 
    42 5
    43 4 2 2
    44 4 1 2
    45 5 2 4
    46 3 3 5
    47 5 1 2
    48 
    49 5
    50 4 5 1
    51 5 3 9
    52 4 1 2
    53 2 1 8
    54 4 1 9
    55 
    56 */
  • 相关阅读:
    【笔记】vue中websocket心跳机制
    【笔记】MySQL删除重复记录保留一条
    oss上传实例
    jquery实现图片点击旋转
    IDEA卡顿解决方法
    斐波那契数列
    【笔记】接口发送数据及接收
    【笔记】获取新浪财经最新的USDT-CNY的汇率
    【笔记】Java 信任所有SSL证书(解决PKIX path building failed问题)
    IDEA中报错“cannot resolve symbol toDF”,但编译正确可以运行
  • 原文地址:https://www.cnblogs.com/general10/p/5763531.html
Copyright © 2020-2023  润新知