QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#468474 | #8523. Puzzle II | ucup-team3519# | WA | 0ms | 3820kb | C++20 | 1.4kb | 2024-07-08 20:59:58 | 2024-07-08 20:59:59 |
Judging History
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!