第四次周赛
- A 大娃力无穷
- CodeForces 999A
- 题解
- B 二娃晓天地
- HDU 1465
- 题解
- C 三娃钢铁躯
- CodeForces 1133D
- 题解
- D 四娃通控火
- CodeForces 735D
- 题解
- E 五娃操雷雨
- HDU 5978
- 题解
- F 六娃无影踪
- Gym 100662A
- 题解
A 大娃力无穷 CodeForces 999A 传送门.
小丑决定今天休息一下,于是他走进了一家游乐场。游乐场里有高矮胖瘦的小盆友。小丑的脑海中不禁浮现出一个画面:在一艘海盗船上坐着n个熊孩子,海盗船周期性地摇摆,每个周期都会在船头或者船尾甩出去一个熊孩子,但是体重大于k的熊孩子会牢牢地抱住船体不能被甩出去。小丑想知道最多能甩出去多少熊孩子。
Input
第一行输入两个整数n和k。1<=n,k<=100
第二行输入n个孩子的体重(小于100)。
Output
输出一个整数——最多能甩出去的孩子数。
Examples
Input
7 5
1 6 4 9 5 8 3
Output
2
Input
5 2
3 1 2 1 3
Output
0
Input
5 100
12 34 55 43 21
Output
5
题解
#include
int main()
{
int n,k,i,j,count=0,a[105];
scanf("%d %d",&n,&k);
for(i=0;
i=0;
i--)
{
if(a[i]<=k)
count++;
else
break;
}
if(count/n==2)
count=n;
printf("%d",count);
return 0;
}
B 二娃晓天地 传送门.
HDU 1465 WBH垃圾丢错啦,他想知道有多少种丢错垃圾的可能,总共有n袋垃圾和n个垃圾桶,假设wbh全丢错了呢,那么他有多少种丢错的可能,请输出一个值代表wbh有多少种可能全丢错
Input
输入数据包含多个多个测试实例,每个测试实例占用一行,每行包含一个正整数n(1
对于每行输入请输出可能的错误方式的数量,每个实例的输出占用一行。
Sample Input
2
3
Sample Output
1
2
题解
#include
#define ll long long
ll fun(ll n){
if(n==1)return 0;
if(n==2)return 1;
return (n-1)*(fun(n-1)+fun(n-2));
}
int main(){
ll n,ans;
while(scanf("%lld",&n)!=EOF)
{
ans=fun(n);
printf("%lld\n",ans);
}
return 0;
}
C 三娃钢铁躯 CodeForces 1133D 【集训队每周一赛2020-03-22(思维+概率+错排)】传送门
第一行给一个n(<=10^5)
第二行n个数,代表a数组(-109<=ai<=109)
第二行n个数,代表b数组(-109<=bi<=109)
请你找一个最佳的d(可以是一个小数)使得ci = d*ai+bi,ci数组中0的个数尽可能多
Output
输出一个整数,c数组中最多可以有几个0.
Examples
Input
5
1 2 3 4 5
2 4 7 11 3
Output
2
Input
3
13 37 39
1 2 3
Output
2
Input
4
0 0 0 0
1 2 3 4
Output
0
Input
3
1 2 -1
-6 -12 6
Output
3
题解
#include
#include
D 四娃通控火 CodeForces 735D 传送门
Mr. Frog住在一个税收制度很奇怪的国家
如果Mr. Frog的收入为 n (n?≥?2) 元,那么他应该交n的最大的小于n的因子的税
For example,
n=6,交3,
n=25,交5,
n=7,交1
但是Mr. Frog已经身经百战,见得多了,他可以把自己的工资分成任意多份(每份数量为整数)分别按照这个规则缴税来逃税,那么,Mr. Frog最少需要交多少税呢
Input
一行一个整数 n (2?≤?n?≤?2·109) 表示Mr. Frog的收入
Output
一个整数,表示Mr. Frog最少交的钱数
Example
Input
4
Output
2
Input
27
Output
3
Hint
4=2+2
27=3+11+13
Mr. Frog 希望你们多猜想猜想
没有证明的东西在某个范围内还是正确的嘛
闷声发大财,这是最吼的
题解
#include
#include
#define ll long long
int isprime(ll n)
{
int i;
for(i=2;
i<=sqrt(n);
i++)
{
if(n%i==0)
return 0;
}
return 1;
}
int main ()
{
ll i,n,flag=1;
while(scanf("%lld",&n)!=EOF)
{
if(n%2==0)
{
if(n==2)
printf("1\n");
else if(!isprime(n)) printf("2\n");
}
else
{
if(isprime(n)) printf("1\n");
else
{
if(isprime(n))
printf("1\n");
else if(isprime(n-2))
printf("2\n");
else printf("3\n");
}
}
}
return 0;
}
E 五娃操雷雨 HDU 5978 传送门
一个盒子里有一个红球和k个黑球.嘻嘻和哈哈不放回地交替从盒子里拿球, 直到红球被拿出,并且拿到红球的获胜.哈哈是一个长者, 为了给嘻嘻一点人生的经验,他让嘻嘻决定谁先拿.嘻嘻预感到自己先走的话可能会更好,因为他可能第一次就获胜.但如果他第一次拿到的是黑球, 那哈哈获胜的概率就会变大,因为一个黑球被去除掉了.嘻嘻应该让谁先拿才能使自己获胜的概率最大?
Input
多组输入数据( 数据总数小于50)
每组数据含有一个整数k ( 1≤k≤10^5)
Output
对于每组数据, 输出:
1, 如果先拿的有优势
2, 如果后拿的有优势
0, 如果不管谁先谁后, 概率都是一样的
Sample Input
1
2
Sample Output
0
1
题解
#include
int main()
{
int k;
while(scanf("%d",&k)!=EOF)
{
if(k==1)
printf("0\n");
else if(k%2==0)
printf("1\n");
else printf("0\n");
}
return 0;
}
F 六娃无影踪 Gym 100662A 传送门
总所周知,小G最宠女友的,而小G的女友最喜欢唱歌,奈何她唱
得实在不咋地~~~ ~~。突然一日,小G女友想开个演唱会(…又
怎么会有观众呢…)。小G只好花钱买点观众,让这些观众去捧
场,唱完给小G女友鼓鼓掌,怎知道观众这东西他有个害羞值,
何为害羞值,若一个观众的害羞值为k,那么这个观众只有在场
上有k个及以上的人鼓掌了,这个观众才会鼓掌(害羞值为0的观
众就意味着等小G女友一唱完他就会鼓掌)。若到场的观众没有
全部都鼓掌,小G女友会感到难堪。小G不想让女友感到难堪,已
知小G已经买了n名观众(不能退货),这些观众都有其特定的害
羞值,为了使到场的所有观众都鼓掌,小G有可能还需要买观众
(额外买的观众,小G可以指定这些观众的害羞值),问:小G至
少还需要买多少观众????
输入描述:
第一行为1个正整数T(1 <= T <= 1000),表示样例数,以下有T
个样例
每个样例包含一个整数非负整数m(m <= 1000)和一个长度为
m+1的数字串S,数字m表示小G已经购买的观众的害羞值范围在
[0,m],m+1的数字串S: 表示害羞值为0的观众买了S[0]位,害
羞值为1的观众买了s[1]位…害羞值为m的观众买了s[m+1]
位,保证s[i]在0~9之间;
输出描述:
对于每个样例输出一行:Case #x: ans,x为样例序号,ans为 小G至少还需要购买的观众数量
示例:
Input
3
4 11111
1 09
5 110011
0 1
Ouput
Case #1: 0
Case #2: 1
Case #3: 2
Case #4: 0
题解
#include
int main()
{
int i,t,m,cas=1,ans,sum;
char a[1005];
scanf("%d",&t);
while(t--)
{
ans=0,sum=0;
scanf("%d",&m);
scanf("%s",&a);
for(i=0;
i
推荐阅读
- 初生菜鸟|2019The 44th International Collegiate Programming Contest Asia Shenyang Regional Contest
- 2019--国赛--第一次参加线上赛的自己的整理
- 每日打卡|集训队每周一赛2020-03-13(构造+找规律+字符串+并查集)
- 集训队每周一赛 2020-03-26(思维/构造+数学+博弈)
- 比赛|WC2018游记
- 集训队每周一赛2020-03-06(思维+暴力)