ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2021-06-11

2021-06-11 21:29:42  阅读:132  来源: 互联网

标签:11 06 mp int ll cin 2021 freopen define


A

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define Test int T;cin>>T;while(T--)
#define PI acos(-1)
#define endl "\n"
#define fx(x) fixed<<setprecision(x)
#define sz(s) (int)s.size()
#define all(v) (v).begin(),(v).end()
#define allr(v) (v).rbegin(),(v).rend()
#define mem(a,n) memset((a),n,sizeof (a))
#define INF 1e9
#define ii pair<ll,ll>
ll gcd(ll x,ll y){return(!y?x:gcd(y,x%y));}
ll lcm(ll x,ll y){return x/gcd(x,y)*y;}
void file(){
#ifndef ONLINE_JUDGE
    freopen("in.txt", "r", stdin);
    freopen("out.txt", "w", stdout);
#else
    //freopen("conan.in", "r", stdin);
    //freopen("bridges.out", "w", stdout);
#endif
}
void fast(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    file();
}
int dx[]= {-1,0,1,0};
int dy[]= {0,1,0,-1};
const double eps=1e-9;
const int mod=1e9+7;
const int N=1e2+5;
int a[N];
void solve(){
    int n;
    cin>>n;
    int idx1=1,idx2=1;
    for(int i=1;i<=n;i++){
        cin>>a[i];
        if(a[i]<a[idx1])idx1=i;
        if(a[i]>a[idx2])idx2=i;
    }
    //cout<<idx1<<" "<<idx2<<endl;
    int mn=max(idx1,idx2);
    mn=min(mn,n-(min(idx1,idx2))+1);
    mn=min(mn,min(idx1,idx2)+(n-max(idx1,idx2)+1));
    cout<<mn<<endl;
}
int main(){
    fast();
    Test{
        solve();
    }
}

B

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define Test int T;cin>>T;while(T--)
#define PI acos(-1)
#define endl "\n"
#define fx(x) fixed<<setprecision(x)
#define sz(s) (int)s.size()
#define all(v) (v).begin(),(v).end()
#define allr(v) (v).rbegin(),(v).rend()
#define mem(a,n) memset((a),n,sizeof (a))
#define INF 1e9
#define ii pair<ll,ll>
ll gcd(ll x,ll y){return(!y?x:gcd(y,x%y));}
ll lcm(ll x,ll y){return x/gcd(x,y)*y;}
void file(){
#ifndef ONLINE_JUDGE
    freopen("in.txt", "r", stdin);
    freopen("out.txt", "w", stdout);
#else
    //freopen("conan.in", "r", stdin);
    //freopen("bridges.out", "w", stdout);
#endif
}
void fast(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    file();
}
int dx[]= {-1,0,1,0};
int dy[]= {0,1,0,-1};
const double eps=1e-9;
const int mod=1e9+7;
const int N=2e5+5;
int a[N];
void solve(){
    int n;
    cin>>n;
    ll sum=0;
    for(int i=0;i<n;i++)
        cin>>a[i],sum+=a[i];
    if(sum%n){
        cout<<-1<<endl;
        return;
    }
    sum/=n;
    int cnt=0;
    for(int i=0;i<n;i++)
        cnt+=a[i]>sum;
    cout<<cnt<<endl;
}
int main(){
    fast();
    Test{
        solve();
    }
}

C

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define Test int T;cin>>T;while(T--)
#define PI acos(-1)
#define endl "\n"
#define fx(x) fixed<<setprecision(x)
#define sz(s) (int)s.size()
#define all(v) (v).begin(),(v).end()
#define allr(v) (v).rbegin(),(v).rend()
#define mem(a,n) memset((a),n,sizeof (a))
#define INF 1e9
#define ii pair<ll,ll>
ll gcd(ll x,ll y){return(!y?x:gcd(y,x%y));}
ll lcm(ll x,ll y){return x/gcd(x,y)*y;}
void file(){
#ifndef ONLINE_JUDGE
    freopen("in.txt", "r", stdin);
    freopen("out.txt", "w", stdout);
#else
    //freopen("conan.in", "r", stdin);
    //freopen("bridges.out", "w", stdout);
#endif
}
void fast(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    file();
}
int dx[]= {-1,0,1,0};
int dy[]= {0,1,0,-1};
const double eps=1e-9;
const int mod=1e9+7;
const int N=2e5+5;
void solve(){
    int n,l,r;
    cin>>n>>l>>r;
    vector<int>v(n);
    for(int i=0;i<n;i++)
        cin>>v[i];
    sort(all(v));
    ll ans=0;
    for(int i=0;i<n;i++){
        int l1=l-v[i];
        int r1=r-v[i];
        int idx=lower_bound(v.begin()+i+1,v.end(),l1)-v.begin();
        int idx2=upper_bound(v.begin()+i+1,v.end(),r1)-v.begin();
        //cout<<idx<<" "<<idx2<<endl;
        ans+=(idx2-idx);
    }
    cout<<ans<<endl;
}
int main(){
    fast();
    Test{
        solve();
    }
}

E

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define Test int T;cin>>T;while(T--)
#define PI acos(-1)
#define endl "\n"
#define fx(x) fixed<<setprecision(x)
#define sz(s) (int)s.size()
#define all(v) (v).begin(),(v).end()
#define allr(v) (v).rbegin(),(v).rend()
#define mem(a,n) memset((a),n,sizeof (a))
#define INF 1e9
#define ii pair<ll,ll>
ll gcd(ll x,ll y){return(!y?x:gcd(y,x%y));}
ll lcm(ll x,ll y){return x/gcd(x,y)*y;}
void file(){
#ifndef ONLINE_JUDGE
    freopen("in.txt", "r", stdin);
    freopen("out.txt", "w", stdout);
#else
    //freopen("conan.in", "r", stdin);
    //freopen("bridges.out", "w", stdout);
#endif
}
void fast(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    file();
}
int dx[]= {-1,0,1,0};
int dy[]= {0,1,0,-1};
const double eps=1e-9;
const int mod=1e9+7;
const int N=1e6+5;
string cur="haha";
pair<ll,pair<string,string> > con(string s,map<string,pair<ll,pair<string,string> > >&mp){
    ll cnt=0;
    for(int i=0;i<sz(s);i++){
        int x=0;
        for(int j=i,idx=0;idx<4&&j<sz(s);j++,idx++){
            if(s[j]==cur[idx])x++;
        }
        cnt+=x==4;
    }
    string t2;
    int idx=0;
    while(sz(t2)<3&&idx<sz(s))t2+=s[idx++];
    string t;
    while(sz(t)<3&&sz(s))t+=s.back(),s.pop_back();
    reverse(all(t));
    return {cnt,{t2,t}};
}
pair<ll,pair<string,string> > merge(string s1,string s2,map<string,pair<ll,pair<string,string> > >&mp){
    ll cnt=0;
    string s=mp[s1].second.second;
    s+=mp[s2].second.first;
    //cout<<s<<" ";
    for(int i=0;i<sz(s);i++){
        int x=0;
        for(int j=i,idx=0;idx<4&&j<sz(s);j++,idx++){
            if(s[j]==cur[idx])x++;
            else break;
        }
        cnt+=x==4;
    }
    s=mp[s1].second.first;
    s+=mp[s2].second.second;
    //cout<<cnt<<endl;
    string t2;
    int idx=0;
    while(sz(t2)<3&&idx<sz(s))t2+=s[idx++];
    string t;
    while(sz(t)<3&&sz(s))t+=s.back(),s.pop_back();
    reverse(all(t));
    return {cnt+mp[s1].first+mp[s2].first,{t2,t}};
}
void solve(){
    map<string,pair<ll,pair<string,string> > >mp;
    int n;
    cin>>n;
    string s1,s2,s3,s4,s5;
    for(int i=0;i<n;i++){
        cin>>s1>>s2>>s3;
        if(s2==":="){
            mp[s1]=con(s3,mp);
        }
        else{
            cin>>s4>>s5;
            mp[s1]=merge(s3,s5,mp);
        }
        //cout<<mp[s1].first<<endl;
        //cout<<mp["c"].first<<endl;
    }
    cout<<mp[s1].first<<endl;
}
int main(){
    fast();
    Test{
        solve();
    }
    //map<string,pair<int,string> >mp;
}

标签:11,06,mp,int,ll,cin,2021,freopen,define
来源: https://blog.csdn.net/qq_45913169/article/details/117827039

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有