首页 > 代码库 > 2016年10月18日cf

2016年10月18日cf

f**k写完前两题睡觉去了。

 

技术分享

 

 

A. Buy a Shovel

题意:给定两个数k,r表示一个铲子卖k元,现在你手上有无数个十元钱和一张r元的钱,问最少买几个铲子能让你用掉这张r元钱,或不用这张钱。

题解:“灭顶之灾” 这不就是一道思博题吗。。不说题解了

技术分享
 1 #include <iostream>
 2 #include <stdio.h>
 3 using namespace std;
 4 int main()
 5 {
 6     int k,r,i=1;
 7     cin>>k>>r;
 8     while(1)
 9       {
10           long long faq=i*k;
11           if (faq%10==r || faq%10==0) break;
12           else i++;
13       }
14     cout<<i;
15     return 0;
16 }
A

B. Cormen — The Best Friend Of a Man

题意:给你n个数和一个k,n表示天数,相邻的两个数之和至少要k,问你最少要在原序列增加多少,使得满足每两个相邻的数的和至少要k,并输出序列。

题解:还不是思博题,随便做一下。。

技术分享
 1 #include <iostream>
 2 #include <stdio.h>
 3 using namespace std;
 4 int a[233333];
 5 int main()
 6 {
 7     int n,k,i;
 8     scanf("%d%d",&n,&k);
 9     for (i=1;i<=n;i++)
10       scanf("%d",&a[i]);
11     if (n==1)
12       {
13         if (a[1]<k) cout<<k-a[1]<<endl<<k;
14         else cout<<0<<endl<<a[1];
15         return 0;
16       }
17     if (n==2)
18       {
19           if (a[1]+a[2]>=k)
20             cout<<0<<endl<<a[1]<<" "<<a[2];
21           else
22             cout<<k-a[1]-a[2]<<endl<<k-a[2]<<" "<<a[2];
23           return 0;
24       }
25     long long ans=0;
26     for (i=2;i<=n;i++)
27       {
28         if (a[i]+a[i-1]<k)
29           ans+=(k-a[i-1])-a[i],a[i]+=(k-a[i-1])-a[i];
30       }
31     cout<<ans<<endl;
32     for (i=1;i<=n;i++)
33       cout<<a[i]<<" ";
34     return 0;
35 }
B

C. Sanatorium

题意:告诉你吃了几次的早餐,午餐,晚餐,你可以在某天的早餐前,午餐前,晚餐前,晚餐后来,在某天的早餐前,午餐前,晚餐前或晚餐后走。问你最少会错过几次的吃饭。

题解:啊好细节啊我不会写,睡觉。

2016年10月18日cf