ZZULI OJ 卓见杯被(真*水题)虐反思


以下,6道WA

#a题,数组开的太小,自己却一直没发现,没过,实际把下标开的大一点就ac
    ,不细心,受到他人ac题,自己为了赶时间,结果越忙越乱


#c题,自己想的太多(无关的东西),一直觉得是c++的IO输出流影响时间,各种优化cin,cout换成printf,scanf,又换成getchar。觉得这是瓶颈,却没看到本质,只要稍微想想数学知识就能解决,一直陷入打表的执念,却没着手做,超时。以后要考虑数学知识优化,而不是一味用语法知识。

还有,自以为是地调用clock函数算时间,觉得用管道输入5组数据才耗时不到100ms就以为算法没问题,实际上真实测试数据IO量远远大于5组。


#e题    这道题想想是真的亏,当时所有思路正确,就是觉得自己dfs还不太熟,就想先放着以后再做。。。。考完前20分钟没考虑这题,一直调试a,c还有h,讽刺的是这3道,一道也没ac。。还是多练题,熟了自然就有自信做。dfs做题过少(位运算枚举只是看过源码,甚至自己都没敲过一遍)


#g题,题意理解错误,虽然现在看着简单,但不亏,自己读题马虎,必须得改!


#h题   这题是我太傻,头铁浪费时间也没做出来
以下放出我的头铁代码感受一下hhh

#include<iostream>
#include<cstdio>
#include<cstring>
#define maxn 1005
using namespace std;
char a[maxn][maxn];

int main(){
	int n;
	char c;
	cin>>n;
	for(int i = 0;i<n;i++){
		for(int j = 0;j<n;j++){
			cin>>a[i][j];
		}
	}
	while(cin>>c){
		if(c=='1'){
			for(int i = 0;i<n;i++){
				for(int j = 0;j<n;j++){
					if(a[i][j]=='M')
						a[i][j]='3';
					else if(a[i][j]=='W')
						a[i][j]='E';
					else if(a[i][j]=='3')
						a[i][j]='W';
					else if(a[i][j]=='E')
						a[i][j]='M';
					else if(a[i][j]=='|')
						a[i][j]='-';
					else if(a[i][j]=='-')
						a[i][j]='|';
				}
			}	
		}
		if(c=='2'){
			for(int i = 0;i<n;i++){
				for(int j = 0;j<n;j++){
					 if(a[i][j]=='M')
						a[i][j]='W';
					else if(a[i][j]=='W')
						a[i][j]='M';
					else if(a[i][j]=='3')
						a[i][j]='E';
					else if(a[i][j]=='E')
						a[i][j]='3';
				}
			}			
		}
		if(c=='3'){
			for(int i = 0;i<n;i++){
				for(int j = 0;j<n;j++){
					if(a[i][j]=='M')
						a[i][j]='E';
					else if(a[i][j]=='W')
						a[i][j]='3';
					else if(a[i][j]=='3')
						a[i][j]='M';
					else if(a[i][j]=='E')
						a[i][j]='W';
					else if(a[i][j]=='|')
						a[i][j]='-';
					else if(a[i][j]=='-')
						a[i][j]='|';
				}
			}		
		} 
		if(c=='4'){
			for(int i = 0;i<n;i++){
				for(int j = 0;j<n;j++){
					if(a[i][j]=='E')
						a[i][j]='3';
					else if(a[i][j]=='W')
						a[i][j]='3';
					else if(a[i][j]=='3')
						a[i][j]='M';
					else if(a[i][j]=='E')
						a[i][j]='W';
					else if(a[i][j]=='|')
						a[i][j]='-';
					else if(a[i][j]=='-')
						a[i][j]='|';
				}
			}			
		}
		if(c=='5'){
			for(int i = 0;i<n;i++){
				for(int j = 0;j<n;j++){
					if(a[i][j]=='M')
						a[i][j]='W';
					else if(a[i][j]=='W')
						a[i][j]='M';
					else if(a[i][j]=='3')
						a[i][j]='E';
					else if(a[i][j]=='E')
						a[i][j]='3';
				}
			}		

		}
					
		if(c=='6'){
			for(int i = 0;i<n;i++){
				for(int j = 0;j<n;j++){
					if(a[i][j]=='M')
						a[i][j]='3';
					else if(a[i][j]=='W')
						a[i][j]='E';
					else if(a[i][j]=='3')
						a[i][j]='W';
					else if(a[i][j]=='E')
						a[i][j]='M';
					else if(a[i][j]=='|')
						a[i][j]='-';
					else if(a[i][j]=='-')
						a[i][j]='|';
				}
			}			
		} 
		 
		 
		
	}
	int first = 1;

	for(int i =0;i<n;i++){
		if(first) first = 0;
		else cout<<endl;
		for(int j = 0;j<n;j++){
			printf("%c",a[i][j]);
		}

	}	
	
	return 0;
}


《代码》
------实际上6种操作都可以由第1重复若干次得到,且4次一循环(我太嫩)

 


#J题   这题自己当时直接放弃(觉得一定是压轴题,就没太费时间看)倒是无怨无悔。

总结()

不管怎么样,这都是一次宝贵的经验,让我真正看清楚自己的不足。好高骛远+不勤加练习+轻视水题。

我还有时间,才大一上学期,没必要强迫自己将那么多知识学完,或许,比起不切实际地看数论,图论,红黑树,高级DP.还不如先把水题刷好,打好基础。虽然结果很惨痛,但认清了自己,以后有了切实的目标,加油吧。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值