凉心的比赛(003)

凉心的比赛(003)

顺序比较混乱,是按照补题顺序来的。

A 签到

A题链接

思路:
由题意可知,11->1。所以最终的输出结果只会有一个1;
而0的数目不定。因此本题输出0为主要突破口。

一开始莫名其妙老是卡住。就是不输出结果。这个题目有很多问题,比如数据的输入只能用字符类型,而不能用整数类型数组或者整数类型变量。


#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
    int n;
    cin>>n; 
    int sum=0;
    for(int i=0;i<n;i++)
    {
        char x;
        cin>>x;
        if(x-'0'==1)sum++;
    }
    if(sum==0)printf("0\n");
    else
    {
        printf("1");
        for(int i=1;i<=n-sum;i++)
            printf("0");
    }
    return 0;

}

E 签到

E题链接

思路:
各个领导人必须有相同数目的员工。否则不成立!
#include<stdio.h>
int main()
{
	int n,i,t,count=0;
	scanf("%d",&n);
	for(i=1;i<n;i++)
	{
		t=n-i;
	    if(t%i==0)
		count++;
	} 
	printf("%d",count);
	
	return 0;
}
F 穿越铁门题目

F题链接

思路:
判断小人有没有穿过边界线,如果穿过了,那么就要收费。
判断的依据是U和R的关系。如果是U和R的走的步数相同,并且前一步和后一步的方向相同,那么就要收费了~
#include<cstdio>
#include<iostream>
using namespace std;
int main()
{ 
    int coin=0,n,x=0,y=0,i;
    string s;
    cin>>n;	
	cin>>s;
	if((n<=2)&&(n>=1))
	cout<<"0";
	else if(n>2&&n<5)
	cout<<"1";
	else
	{
	for(i=0;i<n;i++)
	{
		if(s[i]=='U')
		y++;
		if(s[i]=='R')
		x++;
	if (x == y && s[i] == s[i + 1])//要考虑穿过来的话没必要考虑x和y 直接看U R 
		coin++;
	}
	cout<<coin;
	}
	return 0;
}

发布了32 篇原创文章 · 获赞 6 · 访问量 1570

猜你喜欢

转载自blog.csdn.net/Pan_ZC/article/details/104025483
003
今日推荐