奇怪的读入问题
  • 板块P1383 高级打字机
  • 楼主wzch
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/11/17 19:46
  • 上次更新2023/11/17 19:52:22
查看原帖
奇怪的读入问题
215953
wzch楼主2023/11/17 19:46

这样读入是错误的,为什么?

inline char getdig()
{
    char ch=getchar();
    while(ch==10||ch==' ')ch=getchar();
    return ch;
}

全文:

#include<bits/stdc++.h>
#include<ext/rope>
using namespace std;
using namespace __gnu_cxx;
char getdig()
{
    char ch=getchar();
    while(ch==10||ch==' ')ch=getchar();
    return ch;
}
inline int read()
{
    
    char ch=getchar();int x=0,t=1;
    while(ch<'0'||ch>'9'){if(ch=='-')t=-t;ch=getchar();}
    while(ch>='0'&&ch<='9')x=(x<<3)+(x<<1)+(ch^48),ch=getchar();
    return x*t;
return x*t;
}
const int N=5794385;
rope<char> *a[N];
int main()
{
    int n=read(),cnt=0;
    a[0]=new rope<char>();
    for(int i=1;i<=n;++i)
    {
//        cout<<i<<endl;
        char op=getdig();
		if(op=='T')
		{
			char str=getdig();
			cnt++;
			a[cnt]=new rope<char>(*a[cnt-1]);
			a[cnt]->push_back(str);
		}
		if(op=='U')
		{
            int num=read();
			cnt++;
			a[cnt]=new rope<char>(*a[cnt-num-1]);
		}
		if(op=='Q')
		{
            int num=read();
			cout<<a[cnt]->at(num-1)<<endl;
		}
//        cout<<a[cnt]->at(0)<<" "<<a[cnt]->at(1)<<" "<<a[cnt]->at(2)<<endl;
    }
}
2023/11/17 19:46
加载中...