天天看點

Educational Codeforces Round 94 (Rated for Div. 2)Educational Codeforces Round 94 (Rated for Div. 2)

Educational Codeforces Round 94 (Rated for Div. 2)

A - String Similarity

#include <bits/stdc++.h>
//#define int ll
typedef long long ll;
const int INF = 0x3f3f3f3f;
const int mod = 1e9 + 7;
const int MAX = 2e5 + 10;
using namespace std;

void solve() {
    int n,i;
    string b;
    for(cin>>n>>b,i=0;i<n;i++) cout<<b[n-1];
    cout<<endl;
}

signed main() {
    //ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    int _ = 1;
    cin>>_;
    while (_--) {
        solve();
    }
    return 0;
}
           

B - RPG Protagonist

#include <bits/stdc++.h>
//#define int ll
typedef long long ll;
const int INF = 0x3f3f3f3f;
const int mod = 1e9 + 7;
const int MAX = 2e5 + 10;
using namespace std;

void solve() {
    int p,f,cs,cw,s,w,sum=0;
    cin>>p>>f>>cs>>cw>>s>>w;
    if(w<s)swap(s,w),swap(cs,cw);
    for(int i=0,ans=0;i<=min(cs,p/s);i++){
        ans=i+min((p-i*s)/w,cw)+min((cs-i),f/s)+min((f-s*min((cs-i),f/s))/w,cw-min((p-i*s)/w,cw));
        if(sum<ans)sum=ans;
    }
    cout<<sum<<endl;
}

signed main() {
    //ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    int _ = 1;
    cin>>_;
    while (_--) {
        solve();
    }
    return 0;
}
           

C - Binary String Reconstruction

#include <bits/stdc++.h>
//#define int ll
typedef long long ll;
const int INF = 0x3f3f3f3f;
const int mod = 1e9 + 7;
const int MAX = 2e5 + 10;
using namespace std;

int b[MAX];

int solve() {
    int x;
    string a;
    cin>>a>>x;
    for(int i=0;i<a.size();i++)b[i]=1;
    for(int i=0;i<a.size();i++) if(a[i]=='0'){
        if (i>=x)b[i-x]=0;
        if (i+x<a.size())b[i+x]=0;
    }
    for(int i=0;i<a.size();i++)
        if ((a[i]=='1')&&!((i+x<a.size()&&b[i+x])||(i>=x&&b[i-x]))){return cout<<-1<<endl,0;}
    for(int i=0;i<a.size();i++) cout<<b[i];
    cout<<endl;
}

signed main() {
    //ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    int _ = 1;
    cin>>_;
    while (_--) {
        solve();
    }
    return 0;
}
           

D- Zigzags

#include <bits/stdc++.h>
#define int ll
typedef long long ll;
const int INF = 0x3f3f3f3f;
const int mod = 1e9 + 7;
const int MAX = 1e5 + 10;
using namespace std;

int a[3005],cnt[3005][3005];

int solve() {
    int n,ans=0;
    cin>>n;
    for (int i=1; i<=n;++i){
        cin>>a[i];
        for (int j=1;j<=n;++j) cnt[i][j]=cnt[i-1][j];
        cnt[i][a[i]]++;
    }
    for(int i=1;i<=n;i++)
        for(int j=i+1;j<=n;j++)
            ans+=cnt[i-1][a[j]]*(cnt[n][a[i]]-cnt[j][a[i]]);
    cout<<ans<<endl;
}

signed main() {
    //ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    int _ = 1;
    cin>>_;
    while (_--) {
        solve();
    }
    return 0;
}
           

繼續閱讀