悬赏三关注求Hack!!!
查看原帖
悬赏三关注求Hack!!!
761125
Milthm楼主2023/7/30 17:27

有没有人给我一个Hack,qwq

#include<iostream>
using namespace std;
char a[4000005],ans[4000005],l;
int n,zhan[1000005],tot,num,isq;
char url[10005][10005];
bool pd(int i,int len,char* c){
	for(int j=i;j<i+len;++j){
		if(a[j]!=c[j-i])return 0;
	}
	return 1;
}
void qwq(int x){
	if(zhan[tot]!=x){
		cout<<"Match Error";exit(0);
	}
	else --tot;
}
void add(char c){
	ans[++l]=c;
}
int main(){
	while((a[++n]=getchar())!=EOF){
		if(a[n]=='\r')--n; 
	}
	a[0]='\n';
	--n;
	for(int i=1;i<=n;){
		if(isq==0&&pd(i,4,"[h1]")){
			zhan[++tot]=1;
			add('#'),add(' ');
			i+=4;
		}
		else if(isq==0&&pd(i,5,"[/h1]")){
			qwq(1);
		    add(' '),add('#');
		    i+=5;
		}
		else if(isq==0&&pd(i,4,"[h2]")){
			zhan[++tot]=2;
			add('#'),add('#'),add(' ');
			i+=4;
		}
		else if(isq==0&&pd(i,5,"[/h2]")){
			qwq(2);
			add(' '),add('#'),add('#');
			i+=5;
		}
		else if(isq==0&&pd(i,3,"[i]")){
			zhan[++tot]=3;
			add('*');
			i+=3;
		}
		else if(isq==0&&pd(i,4,"[/i]")){
			qwq(3);
			add('*');
			i+=4;
		}
		else if(isq==0&&pd(i,3,"[b]")){
			zhan[++tot]=4;
			add('_');add('_');
			i+=3;
		}
		else if(isq==0&&pd(i,4,"[/b]")){
			qwq(4);
			add('_');add('_');
			i+=4;
		}
		else if(isq==0&&pd(i,5,"[url=")){
			zhan[++tot]=5;
			++num;
			int j=0;
			for(j=i+5;j<=n&&a[j]!=']';++j){
				url[num][j-(i+5)]=a[j];
			}
			url[num][j]='\0';
			add('[');
			i=j+1;
		}
		else if(isq==0&&pd(i,6,"[/url]")){
			qwq(5);
			add(']');
			add('(');
			for(int j=0;url[num][j]!='\0';++j){
				add(url[num][j]);
			}
			--num;
			add(')');
			i+=6;
		}
		else if(isq==0&&pd(i,5,"[img=")){
			zhan[++tot]=6;
			++num;
			add('!');
			int j=0;
			for(j=i+5;j<=n&&a[j]!=']';++j){
				url[num][j-(i+5)]=a[j];
			}
			url[num][j]='\0';
			add('[');
			i=j+1;
		}
		else if(isq==0&&pd(i,6,"[/img]")){
			qwq(6);
			
			add(']');
			add('(');
			for(int j=0;url[num][j]!='\0';++j){
				add(url[num][j]);
			}
			--num;
			add(')');
			i+=6;
		}
		else if(isq==0&&pd(i,7,"[quote]")){
			zhan[++tot]=7;
			isq=1;
			int j=i+7;
			if(a[i-1]!='\n')add('\n');
			add('>');add(' '); 
			while(a[j]=='\n')++j;
			i=j;
		}
		else if(pd(i,8,"[/quote]")){
			qwq(7);
			isq=0;
			while(ans[l]=='>'||ans[l]=='\n'||ans[l]==' ')--l;
			if(a[i+8]!='\n')add('\n');
			i+=8;
		}
		else{
			add(a[i]);
			if(a[i]=='\n'&&isq)add('>'),add(' ');
			++i;
		}
	}
	if(tot)cout<<"Unclosed Mark";
	else for(int i=1;i<=l;++i)putchar(ans[i]);
	
	return 0;
}
2023/7/30 17:27
加载中...