Codeforces:从头开始contest 1
Posted qyj060604
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces:从头开始contest 1相关的知识,希望对你有一定的参考价值。
【Codeforces:从头开始】contest 1
1A
用 a × a 的石板覆盖 n × m 的长方形广场,允许石板覆盖的区域超出广场,不允许打破石板,石板的两侧应平行于广场两侧,要求覆盖完广场所需的石板数量最少是多少
样例图示:
(显然,答案为每边必须铺的+铺出去(1个或0个))
注意开 long long
代码:
#include<bits/stdc++.h> using namespace std; typedef long double ld; typedef long long ll; int main() ld n,m,a; cin >> n >> m >> a; ll x=ceil(n/a),y=ceil(m/a); cout << x*y << endl; return 0;
1B
人们常用的电子表格软件(比如: Excel)采用如下所述的坐标系统:
第一列被标为A,第二列为B,以此类推,第26列为Z。接下来为由两个字母构成的列号: 第27列为AA,第28列为AB...在标为ZZ的列之后则由三个字母构成列号,如此类推。
行号为从1开始的整数。
单元格的坐标由列号和行号连接而成。比如,BC23表示位于第55列23行的单元格。
有时也会采用被称为RXCY的坐标系统,其中X与Y为整数,坐标(X,Y)直接描述了对应单元格的位置。比如,R23C55即为前面所述的单元格。
您的任务是编写一个程序,将所给的单元格坐标转换为另一种坐标系统下面的形式。
大模拟
我竟无话可说
好吧,一种相对简单的方法是把ABC坐标看作26进制数字
这样既可
但是我绝不是这种能用最简单方法解决问题的人
所以:暴力出奇迹!
把排名为1~1e6的所有字符串全部预处理出来
那么RC表变Excel表就解决了
Excel变RC只要小学数学即可
代码:
#include<bits/stdc++.h> using namespace std; int T; bool flag;//flag=0:RC/flag=1:Excel char s[1000005]; int n; int x,y; int p[15]; string C[1000005]; string qyj; void init() for(int i=1;i<=26;i++)int cr=i+‘A‘-1;C[i]+=(char)cr; for(int i=27;i<=1000000;i++) qyj=C[i-1]; bool IOI=0; for(int j=qyj.size()-1;j>=0;j--) if(qyj[j]!=‘Z‘)IOI=1;qyj[j]++;break; qyj[j]=‘A‘; if(!IOI) C[i]+=‘A‘; C[i]+=qyj; int main() init(); p[0]=1; for(int i=1;i<=6;i++) p[i]=p[i-1]*26; cin>>T; while(T--) scanf("%s",s+1); n=strlen(s+1); int cnt=0; for(int i=1;i<n;i++) if(s[i]>=‘A‘&&s[i]<=‘Z‘&&(s[i+1]<‘A‘||s[i+1]>‘Z‘)) cnt++; if(cnt==1) flag=1; else flag=0; if(flag==0) x=0,y=0; int u=0; for(int i=1;i<=n;i++) if(s[i]>=‘A‘&&s[i]<=‘Z‘) u++; if(s[i]>=‘0‘&&s[i]<=‘9‘) if(u==1) x=(x*10)+(s[i]-‘0‘); else y=(y*10)+(s[i]-‘0‘); cout<<C[y]; printf("%d\\n",x); else bool u=0; int x=0,y=0; for(int i=1;i<=n;i++) if(s[i]>=‘0‘&&s[i]<=‘9‘) u=1; if(u==0) y=(y*26)+(s[i]-‘A‘+1); else x=(x*10)+(s[i]-‘0‘); printf("R%dC%d\\n",x,y); return 0;
以上是关于Codeforces:从头开始contest 1的主要内容,如果未能解决你的问题,请参考以下文章
Codeforces Round #604 (Div. 2)
Codeforces Round #616 (Div. 1)
[Codeforces 757E] Bash Plays with Functions (数论)
codeforces 1C. Ancient Berland Circus