【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;
}

原文地址:https://www.cnblogs.com/QYJ060604/p/11418686.html

时间: 2024-11-08 08:31:53

【Codeforces:从头开始】contest 1的相关文章

[Codeforces 1295F]Good Contest(DP+组合数学)

[Codeforces 1295F]Good Contest(DP+组合数学) 题面 有一个长度为\(n\)的整数序列,第\(i\)个数的值在\([l_i,r_i]\)中随机产生.问这个序列是一个不上升序列的概率(模\(998244353\)意义下). \(n \leq 50,l_i,r_i \leq 998244351\) 分析 和[APIO2016]划艇几乎一模一样.可惜比赛的时候时间不够. 首先把问题转化成求最长不上升序列的数量. 我们把这些区间离散化,分割成两两之间不互相覆盖的若干个区间

Codeforces 1257E - The Contest

题意 三个人,每个人有一些数字,组合起来是\(1\)~\(n\),每个人可以给另一个人一个拥有的数字,问最小操作数,使得第一个人拥有\(1\)~\(i\)的数,第二个人拥有\(i+1\)~\(j\)的数,第三个人拥有\(j+1\)~\(n\)的数,即第一个人为前缀,第二个人为中间部分,第三个人为后缀. 注意:可以有一个或两个人最后不拥有数字. 分析 看到三个人操作,我们先看两个人操作时的情况: 假设到最后,第一个人拥有\(1\)~\(i\),第二个人拥有\(i+1\)~\(n\),那么最小操作数

http://codeforces.com/contest/575/problem/B

题目链接: http://codeforces.com/contest/575/problem/B 题解: 代码: #include<cstdio> #include<vector> #include<cstring> #include<iostream> #include<algorithm> using namespace std; const int maxn = 1e5 + 10; const int DEG = 22; const in

http://codeforces.com/contest/741/problem/B B. Arpa&#39;s weak amphitheater and Mehrdad&#39;s valuable Hoses

题意: 给出上限体重W 然后还给出每个人的体重wi 和 魅力值 bi 互为伙伴的对(xi, yi) 可以凑成group 思路: 并查集找出所有的group 暴力背包 对于每一个group 要选出这一组内选一个人时的最优结果, 如果所有人的体重和小于等于W,还得考虑选所有人的情况 #include <iostream> #include <string.h> #include <algorithm> #include <stdio.h> #include &l

http://codeforces.com/contest/349

A. Cinema Line time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output The new "Die Hard" movie has just been released! There are n people at the cinema box office standing in a huge line. Ea

CodeForces B. Creating the Contest

http://codeforces.com/contest/1029/problem/B You are given a problemset consisting of nn problems. The difficulty of the ii-th problem is aiai. It is guaranteed that all difficulties are distinct and are given in the increasing order. You have to ass

Educational Codeforces Round 76 (Rated for Div. 2) E. The Contest

Educational Codeforces Round 76 (Rated for Div. 2) E. The Contest(dp+线段树) 题目链接 题意: 给定3个人互不相同的多个数字,可以把数字移动给别人,问最少移动几次后可以使第一个人的数字为1~m1,第二个人m1~m2,第三个人m2~n(可以没有数字) 题解: 设c[1][i]为第一个人m1为i时需要移动的次数,c[3][i]为m2为i是第三个人需要操作的次数,当其他两个人数字合法时,第二个人的数字也会合法.枚举第一个人的每个i,

Codeforces Round #604 (Div. 2) C. Beautiful Regional Contest

链接: https://codeforces.com/contest/1265/problem/C 题意: So the Beautiful Regional Contest (BeRC) has come to an end! n students took part in the contest. The final standings are already known: the participant in the i-th place solved pi problems. Since

CodeForces 659 B. Qualifying Contest(结构体排序的问题)

传送门 B. Qualifying Contest time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output Very soon Berland will hold a School Team Programming Olympiad. From each of the m Berland regions a team of two people