专栏文章

题解:P13628 [NWRRC 2021] Anno Domini 2022

P13628题解参与者 2已保存评论 1

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
1 条
当前快照
1 份
快照标识符
@miogzdlm
此快照首次捕获于
2025/12/02 19:03
3 个月前
此快照最后确认于
2025/12/02 19:03
3 个月前
查看原文

题意

给定两个年份,求出它们的差。

思路

分类讨论,不难得到如果两个年份类型相同(都是公元前或公元),它们的差就是两个年份相减的绝对值;如果它们类型不同,则差值为两个年份相加减去一。

实现

通过读取字符串来判断年份类型,使用变量标记它们的类型。再通过分类逐为读取字符串存储为整数。

代码

CPP
#include<bits/stdc++.h>
using namespace std;
int main() {
	string a,b,c,d;
	int n1 = 0,n2 = 0,y1,y2; 
	cin>>a>>b>>c>>d;
	if(a[0] == 'A') {
		for(int i = 0;i < b.length() ;i++) {
			n1 = n1*10+int(b[i]-'0');
		}
		y1 = 1;
	} else {
		for(int i = 0;i < a.length() ;i++) {
			n1 = n1*10+int(a[i]-'0');
		}
		y1 = 2;
	} 
	if(c[0] == 'A') {
		for(int i = 0;i < d.length() ;i++) {
			n2 = n2*10+int(d[i]-'0');
		}
		y2 = 1;
	} else {
		for(int i = 0;i < c.length() ;i++) {
			n2 = n2*10+int(c[i]-'0'); 
		}
		y2 = 2;
	} 
	if(y1 == y2) cout<<abs(n1-n2);
	else cout<<n1+n2-1;
} 

评论

1 条评论,欢迎与作者交流。

正在加载评论...