日常水题1

昨天下午错过比赛,就补一下其中水题,其他都还不会orz。路漫漫啊

hdu5832 A water problem(水)判断n是否同时被37和173整除。看到有人说见到大数就想用java,我应该暗自庆幸我还没学java么

 1 #include<cstdio>
 2 #include<cstring>
 3 using namespace std;
 4 char s[10000001];
 5 const int mod=10001;//73和137的最小公倍数
 6 int main(){
 7     int k=1,i,x;
 8     while(~scanf("%s",s)){
 9         int n=strlen(s);
10         for(x=i=0;i<n;++i)
11             x=(10*x+s[i]-'0')%mod;
12         printf("Case #%d: %s\n",k++,x?"NO":"YES");
13     }
14     return 0;
15 }
View Code

 

hdu5835 Danganronpa(贪心):注意每种礼物都可以作为神秘或普通礼物。先用最多的礼物作神秘礼物,其他作普通礼物。如果最多的礼物足够多,比如有a:1,b:1,c:100,则排列为cacbc,答案为(s-c)+(s-c+1)=5人(s为礼物数总和),否则答案为s/2。

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<algorithm>
 4 using namespace std;
 5 int main(){
 6     int t,n,k=1,i,s,a[10];
 7     scanf("%d",&t);
 8     while(t--){
 9         scanf("%d",&n);
10         for(s=i=0;i<n;++i){
11             scanf("%d",&a[i]);
12             s+=a[i];
13         }
14         sort(a,a+n);
15         s=min(s/2,(s-a[n-1])*2+1);
16         printf("Case #%d: %d\n",k++,s);
17     }
18     return 0;
19 }
View Code

 

hdu5842 Lweb and String(水)看见LIS别先入为主,看完题目,发现只要判断有多少不同字母即可。我不小心神经质的把strlen()又放在循环里然后TLE,笑哭。。。

 1 #include<cstdio>
 2 #include<cstring>
 3 using namespace std;
 4 char s[100005];
 5 int main(){
 6     int t,k=1,i,x;
 7     scanf("%d",&t);
 8     while(t--){
 9         scanf("%s",s);
10         int a[26]={0};
11         int n=strlen(s);
12         for(i=0;i<n;++i)
13             a[s[i]-'a']=1;
14         for(x=i=0;i<26;++i)
15             if(a[i])x++;
16         printf("Case #%d: %d\n",k++,x);
17     }
18     return 0;
19 }
View Code

 

转载于:https://www.cnblogs.com/GraceSkyer/p/5772028.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值