HDU 6140 Hybrid Crystals(坑题+水题)

来源:互联网 发布:snh48是什么玩意知乎 编辑:程序博客网 时间:2024/06/05 01:03

传送门


题意:


思路:

题目比较坑,题中数据保证了这些数据能够组成最小值到最大值中的任意的数,因此,直接计算出这些数的最大最小值就行了。


代码:

#include <bits/stdc++.h>using namespace std;int a[1005];char b[1005];int main(){    int n,k;    int t;    scanf("%d",&t);    while(t--)    {        scanf("%d%d",&n,&k);        for(int i=0;i<n;i++)            scanf("%d",&a[i]);        getchar();        for(int i=0;i<n;i++)            cin>>b[i];            int sum1=0,sum2=0;        for(int i=0;i<n;i++)        {            if(b[i]=='L')sum1+=a[i];            else if(b[i]=='D')sum2-=fabs(a[i]);            else{sum1+=fabs(a[i]);sum2-=fabs(a[i]);}        }       // cout<<sum1<<" "<<sum2;        if(k>sum1||k<sum2)            printf("no\n");        else            printf("yes\n");    }    return 0;}