• 【比赛】 AtCoder Beginner Contest 170


    题意/题解

    A Five Variables

    • 题意:给你五个数,判断哪个是 (0)
    • 题解:边输入边判断

    B Crane and Turtle

    • 题意:有两种动物,一种是鹤,有两条腿,另一种是乌龟,有四条腿,现在告诉你有 (x) 个动物 (y) 条腿,问你可不可能。
    • 题解:暴力枚举。

    C Forbidden List

    • 题意:给你一个序列,让你从序列中没出现过的数中找一个数 (a) 使得 (|a-x|)最小,输出 (a)
    • 题解:因为序列长度不超过 (100)(x) 不超过 (100) ,序列中的数不超过 (100) 所以答案肯定在 (0 sim 101) 之间暴力枚举即可。

    D Not Divisible

    • 题意:给你一个序列让你算出其中不能被序列中除自己(位置不同值相同不算自己)以外的任何一个数整除的数的个数
    • 题解:排序一遍,用小的数去筛大的。

    E Smart Infants

    • 题意:咕咕咕
    • 题解:咕咕咕

    F Pond Skater

    • 题意:咕咕咕
    • 题解:咕咕咕

    代码

    A Five Variables

    #include<cstdio>
    #include<cstring>
    #include<string>
    #include<iostream>
    #include<algorithm>
    
    inline void read(int &T) {
    	int x=0;bool f=0;char c=getchar();
    	while(c<'0'||c>'9'){if(c=='-')f=!f;c=getchar();}
    	while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();}
    	T=f?-x:x;
    }
    
    int main() {
    	for(int i=1,x;i<=5;++i) {
    		read(x);
    		if(x==0) {
    			std::cout<<i<<'
    ';
    			return 0;
    		}
    	}
    	return 0;
    }
    

    B Crane and Turtle

    #include<cstdio>
    #include<cstring>
    #include<string>
    #include<iostream>
    #include<algorithm>
    
    inline void read(int &T) {
    	int x=0;bool f=0;char c=getchar();
    	while(c<'0'||c>'9'){if(c=='-')f=!f;c=getchar();}
    	while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();}
    	T=f?-x:x;
    }
    
    int x,y;
    
    int main() {
    	read(x),read(y);
    	for(int i=0;i<=x;++i) {
    		int j=x-i;
    		if(i*2+j*4==y) {
    			puts("Yes");
    			return 0;
    		}
    	}
    	puts("No");
    	return 0;
    }
    

    C Forbidden List

    #include<cstdio>
    #include<cstring>
    #include<string>
    #include<iostream>
    #include<algorithm>
    #define MAXN 101
    
    inline void read(int &T) {
    	int x=0;bool f=0;char c=getchar();
    	while(c<'0'||c>'9'){if(c=='-')f=!f;c=getchar();}
    	while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();}
    	T=f?-x:x;
    }
    
    int x,n,a[MAXN];
    bool appear[201];
    
    int main() {
    	read(x),read(n);
    	for(int i=1;i<=n;++i) {
    		read(a[i]);
    		appear[a[i]]=1;
    	}
    	std::sort(a+1,a+n+1);
    	int minn=2147483647,ans;
    	for(int i=101;i>=0;--i) {
    		if(!appear[i]) {
    			if(abs(x-i)<=minn) {
    				minn=abs(x-i);
    				ans=i;
    			}
    		}
    	}
    	std::cout<<ans<<'
    ';
    	return 0;
    }
    

    D Not Divisible

    #include<cstdio>
    #include<cstring>
    #include<string>
    #include<iostream>
    #include<algorithm>
    #define MAXN 200001
    
    inline void read(int &T) {
    	int x=0;bool f=0;char c=getchar();
    	while(c<'0'||c>'9'){if(c=='-')f=!f;c=getchar();}
    	while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();}
    	T=f?-x:x;
    }
    
    int n,a[MAXN],times[MAXN*10];
    bool okay[MAXN*10];
    
    int main() {
    	read(n);int maxx=0;
    	for(int i=1;i<=n;++i) {
    		read(a[i]);
    		if(a[i]>maxx) maxx=a[i];
    		++times[a[i]];
    	}
    	std::sort(a+1,a+n+1);int ans=0;
    	for(int i=1;i<=n;++i) {
    		if(okay[a[i]]==1) continue;
    		++ans;
    		if(times[a[i]]>=2) {
    			okay[a[i]]=1;
    			--ans;
    		}
    		int j=a[i]+a[i];
    		while(j<=maxx) {
    			okay[j]=1;
    			j+=a[i];
    		}
    	}
    	std::cout<<ans<<'
    ';
    	return 0;
    }
    

    反思:

    • 太菜了。
  • 相关阅读:
    jsp第四次
    jsp第二次作业
    jsp第一次作业
    软件测试课堂练习
    11.11日
    10.28
    10.25
    10.21
    jsp第七周作业
    JSP第六周作业
  • 原文地址:https://www.cnblogs.com/poi-bolg-poi/p/13127316.html
Copyright © 2020-2023  润新知