Codeforces Beta Round #1题解

A. Theatre Square
题意:需要多少边长为a的正方形覆盖n*m的面积区域。
很容易想出,一片一片的覆盖即可,只能多不能少,注意上取整。

#include<bits/stdc++.h>
using namespace std;
int main()
{
	double n, m, a;
	cin >> n >> m >> a;
	cout << setprecision(19) << ceil(n/a)*ceil(m/a);
	return 0;
}

B - Spreadsheet
题意:两种表示行列的形式的转换。一种是R23C55表示R后面是row,C后面是column,一种是BC23前面是column且使用26进制表示,后面是row。
首先判断是哪一种形式,然后把用到的数字或者字母分离并且取出来,进行简单(fuza)的换算,最后再使用一定的格式输出。

#include<bits/stdc++.h>
using namespace std;
void ccc(int n) 
{
    if(n>26)
        ccc((n-1)/26);
    printf("%c",(n-1)%26+'A');
}
int main()
{
	int t;
	cin >> t;
	while(t--)
	{
		char a[1000010];
		cin >> a;
		int c=0,r=0;
		bool f=0;
		if(a[0]=='R'&&isdigit(a[1]))
		{
			for(int k=2;k<strlen(a);k++)
			if(a[k]=='C')
			f=1;
		}
		if(f)
		{
			int i=1;
			while(a[i]!='C')
			{
				r = r*10+a[i]-'0';
				i++;
			}
			i++;
			while(i<strlen(a))
			{
				c = c*10+a[i]-'0';
				i++;
			} 
			ccc(c);
			cout <<r<< endl;
		}
		else
		{
			int i=0;
			while(a[i]>='A'&&a[i]<='Z')
			{
				c = c*26+(a[i]-'A'+1);
				i++;
			}
			while(i<strlen(a))
			{
				r = r*10+(a[i]-'0');
				i++;
			}
			printf("R%dC%d\n",r,c);
		}
	}
	return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三元湖有大锦鲤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值