QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#697618 | #9430. Left Shifting 2 | jiangXxin | WA | 11ms | 3640kb | C++20 | 2.4kb | 2024-11-01 15:08:07 | 2024-11-01 15:08:07 |
Judging History
answer
// Problem: I. Left Shifting 2
// Contest: Codeforces - The 2024 ICPC Kunming Invitational Contest
// URL: https://codeforces.com/gym/105386/problem/I
// Memory Limit: 1024 MB
// Time Limit: 1000 ms
//
// Powered by CP Editor (https://cpeditor.org)
/*
/\__/\
(o o)
/ \
// ^ ^ \\
/// \\\
\ /
\____/
/\_ _/\
*/
#include<bits/stdc++.h>
#define fir first
#define sec second
#define pb push_back
#define lowbit(X) X&(-X)
#define sz(X) (int)(X).size()
#define all(X) (X).begin(),(X).end()
#define YES cout<<"YES"<<'\n'
#define Yes cout<<"Yes"<<'\n'
#define NO cout<<"NO"<<'\n'
#define No cout<<"No"<<'\n'
#define error cout<<"-1"<<'\n'
using namespace std;
typedef long long unt;
typedef long double ld;
typedef vector<int> vt_int;
typedef vector<char> vt_char;
typedef vector<bool> vt_bool;
typedef vector<long long> vt_unt;
typedef vector<long double> vt_ld;
typedef vector<vector<int> > vvt_int;
typedef vector<vector<char> > vvt_char;
typedef vector<vector<bool> > vvt_bool;
typedef vector<vector<long long> > vvt_unt;
typedef vector<vector<long double> > vvt_ld;
const long long mod=1e9+7;
const long long INF=1152921504606846976;//(2^60)
const long long N=110000;
int solve(){
string s;
cin>>s;
int n=s.size();
set<char>S;
for(auto e:s){
S.insert(e);
}
if(sz(S)==1){
cout<<n/2<<endl;
return 0;
}
deque<char>a;
for(auto e:s){
a.push_back(e);
}
while(a.front()==a.back()){
int x=a.front();
a.pop_front();
a.push_back(x);
//ans++;
}
// for(int i=0;i<n;i++){
// cout<<a[i]<<" ";
// }
// cout<<endl;
for(int i=0;i<n;i++){
int cnt=1;
while(i+1<n&&a[i+1]==a[i]){
cnt++;
i++;
}
//cout<<i<<" "<<cnt<<endl;
if(cnt%2==0&&((cnt/2)%2==1)){
int k=i-(cnt/2)+1;
while(k--){
int x=a.front();
a.pop_front();
a.push_back(x);
}
//ans+=i-(cnt/2)+1;
break;
}
}
int ans=0;
for(int i=0;i<n;i++){
int cnt=1;
while(i+1<n&&a[i+1]==a[i]){
cnt++;
i++;
}
ans+=(cnt/2);
}
cout<<ans<<endl;
return 0;
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int testcase;
testcase=1;
cin>>testcase;
while(testcase--){
int flag=solve();
if(flag==1) YES;
if(flag==-1) NO;
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3640kb
input:
3 abccbbbbd abcde x
output:
2 0 0
result:
ok 3 lines
Test #2:
score: -100
Wrong Answer
time: 11ms
memory: 3588kb
input:
5000 lfpbavjsmppdppkfwnyfmbdhptdswsoulrbhyjh cfliuqnynejgnxolzbdoztclzbozqomvioszk eiivcoqoymonrqgrjdtkts mdcvservaxcbioopfungsgkiftchwlmtbzqgaraovjknsgiegkvdbolmeunvrxrpscnf ujeqtidwtoikkqtygo llma qjfvgwrdhaazejsfgilnpmmhkefndzvyon kzwwpdpbrudqmwmjscllnnjyoepxophcoopvfepikouinuxx vftculoorxskpkxoz...
output:
1 0 0 0 0 0 1 4 0 0 1 1 1 1 1 3 1 0 5 6 0 0 5 2 0 1 3 2 0 3 0 1 0 1 1 0 1 4 1 3 1 0 1 5 3 0 3 0 0 1 8 1 0 6 1 2 0 1 0 0 4 1 2 4 3 1 3 2 3 1 2 1 0 0 2 0 2 2 0 4 0 5 5 0 3 0 4 1 0 2 1 0 2 0 1 6 1 2 1 3 3 3 5 2 3 0 3 5 1 3 0 0 3 0 4 5 3 2 1 1 0 0 2 0 1 1 3 3 3 1 2 0 1 1 4 3 1 3 1 1 1 2 0 1 2 0 4 0 1 1 ...
result:
wrong answer 1675th lines differ - expected: '1', found: '2'