第二次打日服。。。

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

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. 保护个人数据安全,使用luks加密硬盘分区

    create:2023-01-24 17:44:44 准备工作 新硬盘4T,无数据.在root用户或sudo状态下执行. 首先创建分区表,由于mbr最大支持只有2T,因此分区表创建为gpt格式. 然后 ...

  2. lattice crosslink开发板mipi核心板csi测试dsi屏lif md6000 fpga

    1. 概述 CrossLink开发板,是用Lattice的芯片CrossLink 家族系列的,LIF-MD6000-6JM80I.该芯片用于桥接视频接口功能,自带2路MIPI硬核的功能,4 LANE  ...

  3. PGO in Go 1.21

    原文在这里. 由 Michael Pratt 发布于 2023年9月5日 在2023年早些时候,Go 1.20发布了供用户测试的概要版本的基于性能分析的优化(PGO).经过解决预览版已知的限制,并得益 ...

  4. ps--提升字体排版的美感四个有效方法

    一,文字的摆放位置 (字体的选择不要超过三种,分散注意力)

  5. 【.NET8】访问私有成员新姿势UnsafeAccessor(上)

    前言 前几天在.NET性能优化群里面,有群友聊到了.NET8新增的一个特性,这个类叫UnsafeAccessor,有很多群友都不知道这个特性是干嘛的,所以我就想写一篇文章来带大家了解一下这个特性. 其 ...

  6. 一种对数据库友好的GUID的变种使用方法

    概述 .NET生成的GUID唯一性很好,用之方便,但是,缺少像雪花算法那样的有序性.虽然分布式系统中做不到绝对的有序,但是,相对的有序对于目前数据库而言,索引效率等方面的提升还是有明显效果的(当然,我 ...

  7. CCF PTA编程培训师资认证

    考试费用: 双会员500元,任意一方单会员750元,报名考试同时成为CCF专业会员850元,非会员1000元. P/T2补考费用:双会员200元,任意一方单会员300元,非会员400元. T1补考费用 ...

  8. python-微信

    wxpy/itchat已禁用 自从微信禁止网页版登陆之后,itchat 库实现的功能也就都不能用了: itchat现在叫wxpy 1.安装库wxpy: PS D:\01VSCodeScript\Pyt ...

  9. 网格布局grid

    起因 昨天面试的时候,出了一道面试题,模拟面试公司的列表的元素宽度伸缩变化,根据屏幕大小的不同,一行上放置最多的元素,元素宽度不固定,间距固定,可换行,靠左对齐,当时猜出来用flexjs监听resiz ...

  10. 字符串匹配|kmp笔记

    很久之前学的了. 我很懒,不太喜欢画图. 做个笔记回忆一下: kmp 朴素比对字符串 所谓字符串匹配,是这样一种问题:"字符串 T 是否为字符串 S 的子串?如果是,它出现在 S 的哪些位置 ...