第二次打日服。。。

感觉比较水。因为聚会的原因,还几十分钟结束的时候才打开电脑。

D题就没看。难度不知。

题目链接http://abc071.contest.atcoder.jp/

ABC都水题。

C题因为数据比较大,不知道为什么用long long 有点问题,赛后发现是x,y用的是int 相乘会溢出了。比赛的时候用的是大数乘法。

A题代码:

 1 #include<iostream>
2 #include<stdio.h>
3 #include<algorithm>
4 #include<string.h>
5 #include<math.h>
6 using namespace std;
7 int main(){
8 int a,b,x;
9 while(~scanf("%d%d%d",&x,&a,&b)){
10 int alen=abs(a-x);
11 int blen=abs(b-x);
12 if(alen>blen)cout<<'B'<<endl;
13 else cout<<'A'<<endl;
14 }
15 return 0;
16 }

B题代码:

#include<iostream>
#include<stdio.h>
#include<algorithm>
#include<string.h>
#include<math.h>
using namespace std;
int flag[30];
int main(){
char s[100500];
cin>>s;
memset(flag,0,sizeof(flag));
for(int i=0;i<strlen(s);i++){
flag[s[i]-'a']++;
}
int cnt=0;
for(int i=0;i<26;i++){
if(flag[i]==0){
cout<<(char)(i+'a')<<endl;
cnt++;
break;
}
}
if(!cnt) cout<<"None"<<endl;
return 0;
}

C题代码:

 1 /*
2 改后的代码
3 */
4 #include<iostream>
5 #include<stdio.h>
6 #include<string.h>
7 #include<algorithm>
8 using namespace std;
9 long long int a[100500];
10 int flag[100500];
11 bool cmp(int a,int b){
12 return a>b;
13 }
14 int main(){
15 int n;
16 cin>>n;
17 for(int i=0;i<n;i++){
18 scanf("%d",a+i);
19 }
20 memset(flag,0,sizeof(flag));
21 sort(a,a+n,cmp);
22 long long int x,y;
23 x=y=0;
24 int fg=0;
25 for(int i=0;i<n-1;i++){
26 if(a[i]==a[i+1]&&!flag[i]){
27 if(!x) x=a[i];
28 else{
29 y=a[i];
30 break;
31 }
32 flag[i]=1;
33 flag[i+1]=1;
34 }
35 }
36 long long int sum;
37 sum=x*y;
38 cout<<sum<<endl;
39 return 0;
40 }
 1 /*
2 大数乘法代码
3 */
4 #include<iostream>
5 #include<stdio.h>
6 #include<string.h>
7 #include<algorithm>
8 using namespace std;
9 int a[100500];
10 int flag[100500];
11 bool cmp(int a,int b){
12 return a>b;
13 }
14 string sum(string s1,string s2)
15 {
16 if(s1.length()<s2.length())
17 {
18 string temp=s1;
19 s1=s2;
20 s2=temp;
21 }
22 int i,j;
23 for(i=s1.length()-1,j=s2.length()-1;i>=0;i--,j--)
24 {
25 s1[i]=char(s1[i]+(j>=0?s2[j]-'0':0)); //注意细节
26 if(s1[i]-'0'>=10)
27 {
28 s1[i]=char((s1[i]-'0')%10+'0');
29 if(i) s1[i-1]++;
30 else s1='1'+s1;
31 }
32 }
33 return s1;
34 }
35 string Mult(string s,int x)
36 {
37 reverse(s.begin(),s.end());
38 int cmp=0;
39 for(int i=0;i<s.size();i++)
40 {
41 cmp=(s[i]-'0')*x+cmp;
42 s[i]=(cmp%10+'0');
43 cmp/=10;
44 }
45 while(cmp)
46 {
47 s+=(cmp%10+'0');
48 cmp/=10;
49 }
50 reverse(s.begin(),s.end());
51 return s;
52 }
53 string Multfa(string x,string y) //大数乘法
54 {
55 string ans;
56 for(int i=y.size()-1,j=0;i>=0;i--,j++)
57 {
58 string tmp=Mult(x,y[i]-'0');
59 for(int k=0;k<j;k++)
60 tmp+='0';
61 ans=sum(ans,tmp);
62 }
63 return ans;
64 }
65 int main(){
66 int n;
67 cin>>n;
68 for(int i=0;i<n;i++){
69 scanf("%d",a+i);
70 }
71 memset(flag,0,sizeof(flag));
72 sort(a,a+n,cmp);
73 int x,y;
74 x=y=0;
75 int fg=0;
76 for(int i=0;i<n-1;i++){
77 if(a[i]==a[i+1]&&!flag[i]){
78 if(!x) x=a[i];
79 else{
80 y=a[i];
81 break;
82 }
83 flag[i]=1;
84 flag[i+1]=1;
85 }
86 }
87 char x1[15],y1[15];
88 sprintf(x1,"%d",x);
89 sprintf(y1,"%d",y);
90 string s=Multfa(x1,y1);
91 cout<<s<<endl;
92 return 0;
93 }

这代码长度~汗~

AtCoder Beginner Contest 071的更多相关文章

  1. AtCoder Beginner Contest 071 D - Coloring Dominoes

    Problem Statement We have a board with a 2×N grid. Snuke covered the board with N dominoes without o ...

  2. AtCoder Beginner Contest 071 ABCD

    1001 求个绝对值比较大小喽 1002 把字符串出现的字母记录一下,然后遍历a-z,谁第一个没出现就输出谁 1003 Problem Statement We have N sticks with ...

  3. AtCoder Beginner Contest 100 2018/06/16

    A - Happy Birthday! Time limit : 2sec / Memory limit : 1000MB Score: 100 points Problem Statement E8 ...

  4. AtCoder Beginner Contest 052

    没看到Beginner,然后就做啊做,发现A,B太简单了...然后想想做完算了..没想到C卡了一下,然后还是做出来了.D的话瞎想了一下,然后感觉也没问题.假装all kill.2333 AtCoder ...

  5. AtCoder Beginner Contest 053 ABCD题

    A - ABC/ARC Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Smeke has ...

  6. AtCoder Beginner Contest 136

    AtCoder Beginner Contest 136 题目链接 A - +-x 直接取\(max\)即可. Code #include <bits/stdc++.h> using na ...

  7. AtCoder Beginner Contest 137 F

    AtCoder Beginner Contest 137 F 数论鬼题(虽然不算特别数论) 希望你在浏览这篇题解前已经知道了费马小定理 利用用费马小定理构造函数\(g(x)=(x-i)^{P-1}\) ...

  8. AtCoder Beginner Contest 076

    A - Rating Goal Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Takaha ...

  9. AtCoder Beginner Contest 079 D - Wall【Warshall Floyd algorithm】

    AtCoder Beginner Contest 079 D - Wall Warshall Floyd 最短路....先枚举 k #include<iostream> #include& ...

  10. AtCoder Beginner Contest 064 D - Insertion

    AtCoder Beginner Contest 064 D - Insertion Problem Statement You are given a string S of length N co ...

随机推荐

  1. CodeForces 1388C Uncle Bogdan and Country Happiness

    题意 给一棵\(n\)节点的树,每个节点有\(a[i]\)个人住,他们从\(1\)号节点回家,回家路上可能从开心的状态变成不开心的状态(但不可以由不开心变为开心),每个节点有个探测器,会探测经过该节点 ...

  2. 2023年最新版Apollo保姆级使用手册(超级详尽版本)

    目录 Apollo操作说明 前言 Apollo环境部署 一.环境构建 二.官方地址 三.数据库脚本使用 四.配置Apollo文件 五.启动Apollo 六.访问Apollo Apollo产品使用 一. ...

  3. sql分组后排序计算

    用法:RANK() OVER(PARTITION BY 分组字段 ORDER BY 排序字段 ) 例子:要得到n4列 ---创建测试数据create table tb(n1 varchar2(40) ...

  4. 在线问诊 Python、FastAPI、Neo4j — 问题咨询

    目录 查出节点 拼接节点属性 测试结果 问答演示 通过节点关系,找出对应的节点,获取节点属性值,并拼接成想要的结果. 接上节生成的CQL # 输入 question_class = {'args': ...

  5. CF580B

    题目简化和分析: 选择 \(n\) 个朋友,满足以下条件: 工资差异 \(<d\) 友谊和最大(题目翻译不太清楚) 现在面临两个问题 求差异值 求友谊和 所以我们理应想到线段树双指针. 排序后满 ...

  6. MIT协议原文及中文翻译

    MIT协议原文及翻译 参考链接 原文: Copyright ( C ) Permission is hereby granted, free of charge, to any person obta ...

  7. LocalDateTime、LocalDate、Date、String相互转化大全及其注意事项

    一.前言 大家在开发过程中必不可少的和日期打交道,对接别的系统时,时间日期格式不一致,每次都要转化! 每次写完就忘记了,小编专门来整理一篇来详细说一下他们四个的转换的方法,方便后面使用!! 二.Loc ...

  8. Istio 入门(七):出入口网关 - 负载均衡和熔断等一系列功能

    本教程已加入 Istio 系列:https://istio.whuanle.cn 目录 5,出入口网关 istio-ingressgateway 部署服务 配置 Gateway 子版本 istio-e ...

  9. C# ConfigMan.cs

    public static class ConfigMan { public static string ReadKey(string key) { return ConfigurationManag ...

  10. K8S 组合命令

    强制删除namespace kubectl get namespace [namespace-name] -o json | tr -d "\n" | sed "s/\& ...