2017第八次多校联合hdu6140(阅读题)
2017-08-17 20:59
369 查看
题目
题意:就是给你一些数,如果他对应的是N那他可以加也可以减,如果是L就是加,如果是D就是减。
题解:(出题人好强啊。。。愣是用这么长的题面和语言陷阱干死了好多人。。。。)(比赛时候一直在怼1002,看了题解才知道原来这不是我能做的题,好想哭啊。。ORZ)。
就是按他给的所有的值扩大区间,最后看看k在不在区间里就好了。
具体多项式的理解:大佬博客
(但是也学到东西了,原来用%c读入的时候前面加一个空格就可以避免出错了。学到老活到老。)
题意:就是给你一些数,如果他对应的是N那他可以加也可以减,如果是L就是加,如果是D就是减。
题解:(出题人好强啊。。。愣是用这么长的题面和语言陷阱干死了好多人。。。。)(比赛时候一直在怼1002,看了题解才知道原来这不是我能做的题,好想哭啊。。ORZ)。
就是按他给的所有的值扩大区间,最后看看k在不在区间里就好了。
具体多项式的理解:大佬博客
(但是也学到东西了,原来用%c读入的时候前面加一个空格就可以避免出错了。学到老活到老。)
#include<bits/stdc++.h> using namespace std; const int maxn=1e3+10; int a[maxn]; char b[maxn]; int main() { int t; scanf("%d",&t); while(t--) { int n,k; scanf("%d %d",&n,&k); for(int i=0; i<n; i++) scanf("%d",&a[i]); for(int i=0; i<n; i++) scanf(" %c",&b[i]); int left=0,right=0; for(int i=0; i<n; i++) { if(b[i]=='N')left-=a[i],right+=a[i]; if(b[i]=='L')right+=a[i]; if(b[i]=='D')left-=a[i]; } if(k>=0) { if(k<=right) printf("yes\n"); else printf("no\n"); } else { if(k>=left) printf("yes\n"); else printf("no\n"); } } }
相关文章推荐
- 2017多校联合1(hdu6033)水Add More Zero
- HDU 2017 多校联合训练赛6 1010 6105 Gameia
- 2017 HDU 多校联合赛 Colorful Tree
- HDU 2017 多校联合训练赛8 1008 6140 Hybrid Crystals
- 2017第三次多校联合hdu6060
- 2017第四次多校联合hdu6070
- 2017多校联合第五场1011/hdu6095Rikka with Competition(排序)
- HDU 2017 多校联合训练赛1 1002 6034 Balala Power 排序
- 2017第二次多校联合hdu6047Maximum Sequence
- 2017 HDU 6103 多校联合赛 Kirinriki
- 2017 HDU 6140 多校联合赛 Hybrid Crystals
- 2017 多校联合集训 问题 C: 瑞神要考研
- 2017第三次多校联合hdu6058
- HDU 2017 多校联合训练赛3 3003 6058 Kanade's sum 枚举 模拟链表
- 2017多校联合第二场 1001题 hdu 6045 Is Derek lying?
- 2017 多校联合集训 问题 H: Envy
- 2017第二次多校联合 hdu6045Is Derek lying?
- HDU 2017 多校联合训练赛5 5008 6092 Rikka with sebset
- 2017 HDU 多校联合赛 Balala Power!
- HDU6052 [2017多校联合2] To my boyfriend