QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#468474#8523. Puzzle IIucup-team3519#WA 0ms3820kbC++201.4kb2024-07-08 20:59:582024-07-08 20:59:59

Judging History

This is the latest submission verdict.

  • [2024-07-08 20:59:59]
  • Judged
  • Verdict: WA
  • Time: 0ms
  • Memory: 3820kb
  • [2024-07-08 20:59:58]
  • Submitted

answer

#pragma GCC optimize(3,"Ofast","inline")
#include<iostream>
#include<string>
#include<algorithm>
#include<queue>
using namespace std;
#define ll long long
const int N=300005;
const ll mod=998244353;

string a,b;
int n,k;
int swtag=0;
struct pt{
	int x1;
	int x2;
	int x3;
	int x4;
};
vector<pt>ans;
void fr(int x1,int x2,int y1,int y2){
	x1=((x1)%n+n)%n+1;
	x2=((x2)%n+n)%n+1;
	y1=((y1)%n+n)%n+1;
	y2=((y2)%n+n)%n+1;
	ans.push_back({x1,x2,y1,y2});
}

void op(){
	cout<<ans.size()<<'\n';
	for(int i=0;i<ans.size();i++){
		if(swtag==0)
		cout<<ans[i].x1<<' '<<ans[i].x3<<'\n';
		else
		cout<<ans[i].x3<<' '<<ans[i].x1<<'\n';
	}
}
void solve(){
	cin>>n>>k;
	cin>>a>>b;
	int cnt=0;
	for(int i=0;i<n;i++){
		if(a[i]=='B')cnt++;
		else cnt--;
	}
	if(cnt<0){
		swap(a,b);
		swtag=1;
	}
	
	int cb=0;
	vector<int>ext(n*2+5);
	vector<int>ext2(n*2+5);

	vector<int>nd,na;
	int cur=0;
	for(int i=0;i<n;i++){
		if(b[i]=='B'){
			
			nd.push_back(i+cur);
			cur--;
			ext[i+k]++;
			cur+=ext[i];
		}
	}
	cur=0;
	
	for(int i=n-1;i>=0;i--){
		if(a[i]=='C'){
			na.push_back(i+cur);
			cur++;
			if(i-k>=0)
			ext2[i-k]--;
			cur+=ext2[i];
		}
	}
	for(int i=0;i<na.size();i++){
		int x=na[i],y=nd[i];
		fr(x-k+1,x,y+1,y+k);
		fr(x-k+1,x,y,y+k-1);
	}
	op();
}
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	
	solve();
}

详细

Test #1:

score: 0
Wrong Answer
time: 0ms
memory: 3820kb

input:

6 3
BCCBCC
BBCBBC

output:

4
2 4
1 4
4 2
3 2

result:

wrong answer The final sequences are not correct!