为什么不能用快读?
查看原帖
为什么不能用快读?
539947
LsmQwQ楼主2022/11/25 19:31

WA

// LUOGU_RID: 95416343
#include <bits/stdc++.h>
#define ll long long
using namespace std;
namespace IO{//by cyffff
	char ibuf[(1<<20)+1],*iS,*iT;
	#if ONLINE_JUDGE
	#define gh() (iS==iT?iT=(iS=ibuf)+fread(ibuf,1,(1<<20)+1,stdin),(iS==iT?EOF:*iS++):*iS++)
 	#else
	#define gh() getchar()
	#endif
	#define reg register
	inline long long read(){
		reg char ch=gh();
		reg long long x=0;
		reg char t=0;
		while(ch<'0'||ch>'9')   t|=ch=='-',ch=gh();
		while(ch>='0'&&ch<='9') x=x*10+(ch^48),ch=gh();
		return t?-x:x;
	}
}
using IO::read;
const int N=105, INF=0x3f3f3f3f;
char a[N];
int T,n;

int main(){
	T=read();
	while(T--){
		n=read();
		int maxn=-1;
		for(int i=1;i<=n;i++){
			cin>>a[i];
			if(a[i]-'a'>maxn)maxn=a[i]-'a';
		}
		printf("%d\n",maxn+1);
	}
	return 0;
}

AC

#include <bits/stdc++.h>
#define ll long long
using namespace std;
namespace IO{//by cyffff
	char ibuf[(1<<20)+1],*iS,*iT;
	#if ONLINE_JUDGE
	#define gh() (iS==iT?iT=(iS=ibuf)+fread(ibuf,1,(1<<20)+1,stdin),(iS==iT?EOF:*iS++):*iS++)
 	#else
	#define gh() getchar()
	#endif
	#define reg register
	inline long long read(){
		reg char ch=gh();
		reg long long x=0;
		reg char t=0;
		while(ch<'0'||ch>'9')   t|=ch=='-',ch=gh();
		while(ch>='0'&&ch<='9') x=x*10+(ch^48),ch=gh();
		return t?-x:x;
	}
}
using IO::read;
const int N=105, INF=0x3f3f3f3f;
char a[N];
int T,n;

int main(){
	cin>>T;
	while(T--){
		cin>>n;
		int maxn=-1;
		for(int i=1;i<=n;i++){
			cin>>a[i];
			if(a[i]-'a'>maxn)maxn=a[i]-'a';
		}
		printf("%d\n",maxn+1);
	}
	return 0;
}
/*
今天你AC了几题?
不要颓废!!!!
Dalao has AKed IOI several times!!!
*/

单纯的一个用了快读,一个没用

2022/11/25 19:31
加载中...