P8738 [蓝桥杯 2020 国 C] 天干地支

两种方法

复制代码
#include<bits/stdc++.h>
using namespace std;

int main(){
	int year;
	cin>>year;
	string tg[10] = {"geng", "xin", "ren", "gui","jia", "yi", "bing", "ding", "wu", "ji" };
	string dz[12] = {"shen", "you", "xu", "hai","zi", "chou", "yin", "mao", "chen", "si", "wu", "wei" };
	
	
	int yushu=(year)%60;
	
	
	int i=yushu%10;
	int j=yushu%12;
	cout<<tg[i]<<dz[j];
	return 0;
	
	
	
	
}

这种是数组偏移,其实两种做法的核心都是将2044年%60后的到的数4偏移成0,即将jiazi年与4对应上。

第二种就是将年份加上56(60-4)得到,两种的结果都是一样的,但是我不知道为什么year-4有一个答案是错的,洛谷给不出测试用例就比较难改。

偏移值还是不错的,在循环队列中也用到了加偏移值%队列长度

相关推荐
helloworldandy1 分钟前
高性能图像处理库
开发语言·c++·算法
2401_836563183 分钟前
C++中的枚举类高级用法
开发语言·c++·算法
bantinghy6 分钟前
Nginx基础加权轮询负载均衡算法
服务器·算法·nginx·负载均衡
chao18984414 分钟前
矢量拟合算法在网络参数有理式拟合中的应用
开发语言·算法
代码无bug抓狂人20 分钟前
动态规划(附带入门例题)
c语言·算法·动态规划
weixin_4454023038 分钟前
C++中的命令模式变体
开发语言·c++·算法
季明洵39 分钟前
C语言实现顺序表
数据结构·算法·c·顺序表
Hgfdsaqwr1 小时前
实时控制系统优化
开发语言·c++·算法
2301_821369611 小时前
嵌入式实时C++编程
开发语言·c++·算法
sjjhd6521 小时前
多核并行计算优化
开发语言·c++·算法