不知道为什么 CE 求调
  • 板块灌水区
  • 楼主hjqhs
  • 当前回复8
  • 已保存回复8
  • 发布时间2023/10/4 09:28
  • 上次更新2023/11/2 15:56:36
查看原帖
不知道为什么 CE 求调
724988
hjqhs楼主2023/10/4 09:28
#include<bits/stdc++.h>
// #define int long long
#define rep(i,a,b) for(int i=(a);i<=(b);++i)
#define per(i,a,b) for(int i=(a);i>=(b);--i)
#define fv(i,p) for(int i=0;i<p.size();++i)
#define ptc putchar
#define il inline
#define reg register
// #define push_back pb
// #define mp make_pair
// #define eb emplace_back
// #define ret; return 0;
using namespace std;
const int N=100005;
const int MOD=998244353;
const int INF=0x3f3f3f3f;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
int Max(int a,int b){return a>b?a:b;}
int MAX(int a,int b,int c){return Max(a,Max(b,c));}
int Min(int a,int b){return a<b?a:b;}
int MIN(int a,int b,int c){return Min(a,Min(b,c));}
void Swap(int&a,int&b){int tmp=a;a=b;b=tmp;}
void cmin(int&x,int y){if(x>y)x=y;}
void cmax(int&x,int y){if(x<y)x=y;}
int read(){
  int x=0,f=1;
  char ch=getchar();
  while(!isdigit(ch)){if(ch=='-')f=-1;ch=getchar();}
  while(isdigit(ch)){x=(x<<3)+(x<<1)+(ch^48);ch=getchar();}
  return x*f;
}
int T,n,q,a[N],sum[N],ans;
string s;
void solve(){
  n=q=ans=0;memset(a,0,sizeof(a));memset(sum,0,sizeof(sum));
  cin>>n;rep(i,1,n)cin>>a[i];cin>>s>>q;
  rep(i,1,n)sum[i]=sum[i-1]^a[i];
  rep(i,1,s.size())if(s[i]=='1')ans^=a[i];
  while(q--){
    int op;cin>>op;
    if(op==1){
      int l,r;cin>>l>>r;
      ans^=(sum[r]^sum[l-1]);
    }else if(op==2){
      int x;cin>>x;
      if(x==1)cout<<ans<<' ';
      else cout<<sum[n]^ans;
    }
  }
}
signed main(){
  // freopen("input.txt","r",stdin);
  // freopen("output.txt","w",stdout);
  ios::sync_with_stdio(0);
  cin.tie(0);
  cin>>T;
  while(T--){
    solve();
  }
  return 0;
}

报错在这一行:

else cout<<sum[n]^ans;

报错信息是:

error: no match for 'operator^' (operand types are 'std::basic_ostream<char>' and 'int')

g++ 告诉我,他认为 sumnsum_n 的类型是 std::basic_ostream<char>?
求调

2023/10/4 09:28
加载中...