• 【比赛】 AtCoder Beginner Contest 168


    题意/题解

    A ∴ (Therefore)

    • 题意:给你一个正整数,个位如果是 (3) 就输出bon,如果是 (0,1,6,8) 就输出pon 否则输出hon
    • 题解:判断就行。

    B ... (Triple Dots)

    • 题意:给你一个字符串,如果字符串长度不超过 (k) 就输出整个串否则输出前 (k) 个字符和 (dots)
    • 题解:按题目说的做

    C : (Colon)

    • 题意:有一个钟表时针长为 (a) 且每 (12) 小时转一圈,分针长为 (b) 且每小时转一圈。时针与分针一开始是重合的,问你 (h) 小时 (m) 分钟后这两根针所构成的三角形的长度未知的那条边的长。
    • 题解:可以算出最后的夹角,根据(sqrt{a^2+b^2-2abcos(x)}) 可以算,其中 (x) 为两针夹角。

    D .. (Double Dots)

    • 题意:有一个洞穴,有 (n) 个房间和 (m) 条双向边,每条边连接着两个房间。问你在从每个房间出发最少经过最少房间到达 (1) 号房间时每个房间应该走向哪个房间。
    • 题解:应该是拓扑吧。

    E ∙ (Bullet)

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

    F . (Single Dot)

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

    代码

    A ∴ (Therefore)

    #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 n,x;
    
    int main() {
    	std::cin>>n;
    	x=n%10;
    	if(x==2||x==4||x==5||x==7||x==9) puts("hon");
    	else if(x==0||x==1||x==6||x==8) puts("pon");
    	else puts("bon");
    	return 0;
    }
    

    B ... (Triple Dots)

    #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 k;
    std::string sss;
    
    int min(int a,int b) {return a<b?a:b;}
    
    int main() {
    	read(k);
    	std::cin>>sss;int len=sss.length();
    	for(int i=0;i<=min(k-1,len-1);++i) {
    		printf("%c",sss[i]);
    	}
    	if(len>k) puts("...");
    	return 0;
    }
    

    C : (Colon)

    #include<cmath>
    #include<cstdio>
    #include<cstring>
    #include<string>
    #include<iostream>
    #include<algorithm>
    #include<iomanip>
    #define pi 3.141592653589793238462643383279
    
    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 a,b,h,m;
    double w1=0.5,w2=6;
    
    double min(double a,double b) {return a<b?a:b;}
    
    double max(double a,double b) {return a>b?a:b;}
    
    int main() {
    	read(a),read(b),read(h),read(m);
    	double jiao1=w1*(h*60.0+m*1.0),jiao2=w2*m*1.0;
    	double jiajiao=max(jiao1,jiao2)-min(jiao1,jiao2);
    	double hudu=jiajiao*pi/180.0;
    	std::cout<<std::fixed<<std::setprecision(20)<<sqrt(a*a*1.0+b*b*1.0-2.0*a*1.0*b*1.0*cos(hudu));
    	return 0;
    }
    

    D .. (Double Dots)

    #include<cstdio>
    #include<cstring>
    #include<string>
    #include<iostream>
    #include<algorithm>
    #include<queue>
    #define MAXN 200001
    #define inf 1061109567
    
    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,m,to[MAXN];
    int cnt,head[MAXN];
    int vis[MAXN],dis[MAXN];
    struct Edge {
    	int next,to;
    }pth[MAXN<<2];
    std::queue<int> q;
    
    void add(int from,int to) {
    	pth[++cnt].to=to,pth[cnt].next=head[from];
    	head[from]=cnt;
    }
    
    int main() {
    	memset(dis,0x3f,sizeof dis);
    	read(n),read(m);
    	for(int i=1,u,v;i<=m;++i) {
    		read(u),read(v);
    		add(u,v),add(v,u);
    	}
    	q.push(1);dis[1]=0;
    	while(!q.empty()) {
    		int u=q.front();q.pop();
    		for(int i=head[u];i;i=pth[i].next) {
    			int v=pth[i].to;
    			if(dis[v]>dis[u]+1) {
    				dis[v]=dis[u]+1;
    				to[v]=u;
    			}
    			if(!vis[v]) {
    				q.push(v);
    				vis[v]=1;
    			}
    		}
    	}
    	for(int i=2;i<=n;++i) {
    		if(dis[i]==inf) {
    			puts("No");
    			return 0;
    		}
    	}
    	puts("Yes");
    	for(int i=2;i<=n;++i) {
    		printf("%d
    ",to[i]);
    	}
    	return 0;
    }
    

    反思:

    • 太菜了。
  • 相关阅读:
    golang 相关
    ES root用户启动失败can not run elasticsearch as root
    基于 Flink CDC + Hudi 湖仓一体方案实践
    数据平台上云
    多云趋势
    数果实时数仓探索
    宽表的设计
    数仓指标体系
    Hudi在医疗大数据的应用
    Hudi on Flink上手使用总结
  • 原文地址:https://www.cnblogs.com/poi-bolg-poi/p/12907121.html
Copyright © 2020-2023  润新知