文章

67

粉丝

207

获赞

46

访问

44.2k

头像
查找 - 北邮 题解:求助大佬,33%一直过不去,自己调试没问题
P1387 北京邮电大学
发布于2024年2月18日 12:07
阅读数 805

#include <iostream>
#include <string.h>
using namespace std;
int main(){
	char a[1005],d[1005];
	char b[1000][1005];
	int c=0,n=0,x=0,y=0,uu=0,tt=0;
	//初始化=======================================
	for(int i=0;i<1005;i++){
		a[i]=0;
		d[i]=0;}
	for(int i=0;i<1000;i++)
		for(int j=0;j<1005;j++)
			b[i][j]=0;
while(gets(a)){
cin >> n;
	for(int j=0;j<n;j++){
		//cout << "输入 d " <<endl;
		//gets(d);
		cin >> d;
		//如果改成 gets(d);第一次会出现两行"输入 d " 
		if(d[0]=='0'){
			x=d[1]-'0';
			y=d[2]-'0';
			for(int ii=0;ii<x;ii++)
				b[c][ii]=a[ii];
			for(int ii=y+x;ii<strlen(a);ii++)
				b[c][ii]=a[ii];
      for(int ii=x;ii<=y+x-1;ii++)
		  b[c][y+x+x-1-ii]=a[ii];
	  strcpy(a,b[c]);
		c++;
		}
		else if(d[0]=='1'){
          x=d[1]-'0';
			y=d[2]-'0';
			uu=3;
			for(int ii=0;ii<x;ii++)
				b[c][ii]=a[ii];
			for(int ii=x;ii<=y+x-1;ii++){
				//情况 1 替换数组d不够长 a 来补=================================...
登录查看完整内容


登录后发布评论

1 条评论
snake VIP
2024年2月18日 16:11

替换这一步结尾的处理有点问题

赞(0)