第二次打日服。。。

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

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. CDC一键入湖:当 Apache Hudi DeltaStreamer 遇见 Serverless Spark

    Apache Hudi的DeltaStreamer是一种以近实时方式摄取数据并写入Hudi表的工具类,它简化了流式数据入湖并存储为Hudi表的操作,自 0.10.0 版开始,Hudi又在DeltaSt ...

  2. [Python] #!/usr/bin/python 与 #!/usr/bin/env python 的区别

    区别是什么呢? #!/usr/bin/python 系统在执行这个脚本的时候, 调用固定路径的python解释器 #!/usr/bin/env python 防止用户没有吧py安装到usr/bin目录 ...

  3. 如何使用Vite创建Vue3的uniapp项目

    项目结构 my-vue3-project ├─ .env //默认环境变量 ├─ .env.development //开发环境变量 ├─ .eslintrc-auto-import.json //( ...

  4. IOS苹果应用IPA一键签名工具(苹果重签名,企业签名,Windows平台,时间控制)

    苹果应用IPA一键签名工具可以在windows平台对苹果应用IPA文件重新签名,无需MAC苹果电脑和配置XCODE开发环境,便可以直接对IPA文件进行签名,同时支持修改BundleID, 不受描述文件 ...

  5. window操作系统安装多个版本nodejs版本-控制工具nvm

    参考: https://blog.csdn.net/m0_38134431/article/details/118388297 https://juejin.cn/post/7044890876631 ...

  6. Mysql中文字符串提取datetime

    DATE_FORMAT无法用于提取含中文字符的时间字符串中的时间, 可以通过STR_TO_DATE来提取其中的信息, 如下: SELECT STR_TO_DATE("2018年11月05日 ...

  7. android模拟器推荐

    最近装了个海马模拟器用来调试cocos2dx-lua游戏. 安装完之后发现, 我之前装的virtual box被替换掉了, 因为海马模拟器要安装它自己匹配版本的virtual box, 所以我之前的装 ...

  8. 其它——Redis与Mysql双写一致性方案解析

    文章目录 一 前言 二 一致性方案 三 先更新数据库,再更新缓存 四 先删缓存,再更新数据库 五 先更新数据库,再删缓存 一 前言 首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用.在读取 ...

  9. 掌握Go类型内嵌:设计模式与架构的新视角

    本文深入探讨了Go语言中的类型内嵌特性,从基础概念到实际应用,以及相关的最佳实践.文章不仅讲解了如何在Go中实现和使用类型内嵌,还通过具体的代码示例展示了其应用场景和潜在陷阱.最后,文章总结了类型内嵌 ...

  10. SaaS模式相较传统CRM系统有何优势?

    SaaS模式的CRM客户管理系统相较于传统的CRM客户管理系统更加方便灵活,更加符合如今的市场环境.它解决了传统CRM系统投入大.维护难的难题,降低了中小企业导入CRM的门槛.下面详细说说SaaS模式 ...