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有一个答案是错的,洛谷给不出测试用例就比较难改。

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

相关推荐
wuyk5557 小时前
Keil工具链-第05讲-启动文件与__main到底做了什么
c语言·stm32·单片机·嵌入式硬件·物联网
NEFU_Jyj8 小时前
牛客周赛R168
算法
Navigator_Z15 小时前
LeetCode //C - 1317. Convert Integer to the Sum of Two No-Zero Integers
c语言·算法·leetcode
D e re k ZH16 小时前
C++ 标准库算法全景指南
数据结构·c++·算法
冻柠檬飞冰走茶17 小时前
字母移动游戏题解:贪心求最长可保留连续子串(附 C 实现)
c语言·开发语言·数据结构·算法·动态规划
雪落漂泊17 小时前
C++算法 二分查找篇(上)
开发语言·c++·算法
LabVIEW开发19 小时前
LabVIEW 连接板:28 个端子怎么排,优先级怎么定
java·算法·labview
严肃小白兔20 小时前
MATLAB 数值计算中的精度与误差问题:浮点运算、误差传播与数值稳定性
人工智能·算法·matlab
Hhy_110721 小时前
《C++深度解构06》手撕 string —— 从底层内存管理到深浅拷贝彻底吃透
c语言·开发语言·c++·学习·visual studio