第二次打日服。。。

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

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. Leetcode刷题笔记——二分法

    二分法是搜索算法中极其典型的方法,其要求输入序列有序并可随机访问.算法思想为 输入:有序数组nums,目的数值target 要求输出:如果target存在在数组中,则输出其index,否则输出-1 将 ...

  2. 基于velero及minio实现etcd数据备份与恢复

    1.Velero简介 Velero 是vmware开源的一个云原生的灾难恢复和迁移工具,它本身也是开源的,采用Go语言编写,可以安全的备份.恢复和迁移Kubernetes集群资源数据:官网https: ...

  3. springboot下载文件 范围下载

    springboot下载文件 范围下载 关键词:springboot,download,Range,Content-Range,Content-Length,http code 206 Partial ...

  4. Verilog实现定点乘法器

    实验目的 理解定点乘法的不同实现算法的原理,掌握基本实现算法. 熟悉并运用 Verilog 语言进行电路设计. 为后续设计 CPU 的实验打下基础. 实验内容 定点乘法器有多种实现,实验要求实现迭代乘 ...

  5. 【爬虫实战】用python爬豆瓣电影《热烈》短评

    目录 一.爬虫对象-豆瓣电影短评 二.爬取结果 三.爬虫代码讲解 三.演示视频 四.获取完整源码 一.爬虫对象-豆瓣电影短评 您好!我是@马哥python说,一名10年程序猿. 今天分享一期爬虫案例, ...

  6. day02 数据类型转换 运算符 方法

    数据类型转换 自动类型转换 强制类型转换 1. 自动类型转换:就是范围小的向范围大的转换  将取值范围小刀的类型自动提升为取值范围大的类型. 转换规则  byte.short.char  int--- ...

  7. 基于三菱Q系列cc-Link的卧式自动燃煤蒸汽锅炉控制系统

    系统说明: 方案选用: 本系统最终采用三菱Q系列+FX3U系列方案 工艺流程: 触摸屏设计: 程序设计: 本文章为原创作品,未经允许,请勿转载,否则将会追究法律责任.

  8. 使用Blazor WASM实现可取消的多文件带校验并发分片上传

    前言 上传大文件时,原始HTTP文件上传功能可能会影响使用体验,此时使用分片上传功能可以有效避免原始上传的弊端.由于分片上传不是HTTP标准的一部分,所以只能自行开发相互配合的服务端和客户端.文件分片 ...

  9. 全局关闭Unity编译的CS警告

    实现方式 Editor和Game的全局CSharp编译配置文件名: Assets/mcs.rsp 添加如下内容可屏蔽对应的警告信息 -nowarn:1234 常用内容 CS0219 未使用的publi ...

  10. 一个重量级HTTP api的304优化分析与突发失效问题解决

    背景 最近查看nginx log排查问题时,意外中发现重量级的主页 list api 304比例已暴跌至不到1%,之前该比例长期维持在30%以上,近期也未改动过相关逻辑,跟进后最终发现是服务端本地ca ...