CCF刷题-0729

201503-3
晚上就写了一题,忘记闰年的概念、看错题目啊啊啊啊,提交了四次才通过。
以为闰年就是400的整数,提交一次0分才反应过来。
同时,一直以为是自行输入不限个数的年份。google题解才终于明白自己的错在哪了呜呜呜。
我是个大傻逼。

int mon[12]={31,28,31,30,31,30,31,31,30,31,30,31}; 

// 0001年到y年(包括)有多少个闰年 
int numLeapYear(int y) {
    return y/4 - y/100 + y/400;
}

int main() {
	int month,number,week;
	int years[205];
	memset(years,0,sizeof(years));
	cin>>month>>number>>week;
	int y1,y2;
	cin>>y1>>y2;
    int days=0,all=0;   
    for(int k=0;k<month-1;k++){
    	all+=mon[k];
	}
	int flag=0;
    for(int j=y1;j<=y2;j++){
    	days=0;
    	flag=0;
    	days=numLeapYear(j-1)+365*(j-1);
		days+=all;
		//如果是闰年 
		if((j%400==0)||(j%4==0&&j%100!=0)){
			if(month>2)	days+=1; 
			if(month==2) flag=1;
		}
    	//指定月份第一天
		int index=1+days%7;
		if(index>7) index%=7;
		
		int date=0;
//		cout<<index<<" ";
		
		if(index<week){
			date=7*(number-1)+week-index+1;
		}else if(index>week){
			date=7*number+week-index+1;
		}else{
			date=date+7*(number-1)+1;
		}
		
		if(date>(mon[month-1]+flag)){
			cout<<"none"<<endl;
		}else{
			cout<<j<<"/"	;
			if(month<10)	cout<<"0";
			cout<<month<<"/";
			if(date<10)		cout<<"0";
			cout<<date<<endl;
		}
	}
    return 0;
}
//

今天做痛苦的地方在与重新安装Qt。
真的佛了,电脑上原本有Qt5.9.9,为了项目需要,我又下载了Qt6.1.2,经过一系列安装配置找教程,新版本打开文件运行报错,老版本貌似没问题。
于是我继续研究新版本,改配置改Kits改这改那,结果,老版本也报废了…
哭死~
吃完饭后,我决定把新版本删了,挽回老版本。
结果删完后,还是回不来了…
啊啊啊啊啊,气死了啊。
找了一堆视频教程,对准安装,发现自己的账号只能下载commercial版本,真就见了鬼了。无论用官方的链接还是博主的链接,下载的exe打开后登录都只能下载commercial,没有开源!!!
难怪早上的新版本不对劲…
尝试了无数遍无果,账号不行,一直磨到四五点钟,用学长的账号登录,终于完成开源版的下载。
终于能正常运行代码了.
好疲惫。
晚上干火锅,快乐,可惜不小心踩坑,结账好贵好贵…心又痛了…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值