2025.10.02代码暂存

今天写的2025重庆市赛代码,没带U盘,暂时丢这。

A

#include<bits/stdc++.h>
using namespace std;

inline void solve()
{
    int n;
    cin>>n;
    vector<int> a(n+1),b(n+1);
    for(int i=0;i<n;++i)cin>>a[i],b[i]=a[i];
    for(int i=1;;i++)
    {
        int ck=1;
        for(int j=0;j<n;++j)ck&=a[j]==a[0];
        if(ck)return cout<<i-1<<'\n',void();
        for(int j=0;j<n;++j)b[j]=a[j]|a[(i+j)%n];
        for(int j=0;j<n;++j)a[j]=b[j];
    }   
}

int main()
{
    ios::sync_with_stdio(0);cin.tie(0);
    int T;cin>>T;
    while(T--)solve();
    return 0;
}

C

#include<bits/stdc++.h>
using namespace std;

inline void solve()
{
    int n;
    cin>>n;
    vector<int> a(n+1),b(n+1);
    for(int i=0;i<n;++i)cin>>a[i],b[i]=a[i];
    for(int i=1;;i++)
    {
        int ck=1;
        for(int j=0;j<n;++j)ck&=a[j]==a[0];
        if(ck)return cout<<i-1<<'\n',void();
        for(int j=0;j<n;++j)b[j]=a[j]|a[(i+j)%n];
        for(int j=0;j<n;++j)a[j]=b[j];
    }   
}

int main()
{
    ios::sync_with_stdio(0);cin.tie(0);
    int T;cin>>T;
    while(T--)solve();
    return 0;
}

F

#include<bits/stdc++.h>
using namespace std;

inline void solve()
{
    int a,b,c;
    cin>>a>>b>>c;
    if(a>b)cout<<"win\n";
    else if(c>b)cout<<"WIN\n";
    else cout<<"nowin\n";
}

int main()
{
    ios::sync_with_stdio(0);cin.tie(0);
    int T;cin>>T;
    while(T--)solve();
    return 0;
}

H

#include<bits/stdc++.h>
using namespace std;
const int N=2e5+10;
int a[N],b[N],c[N];
int n;
inline void solve()
{
    cin>>n;
    for(int i=1;i<=n;++i)cin>>a[i];
    for(int i=1;i<=n;++i)cin>>b[i];
    for(int i=1;i<=n;++i)cin>>c[i];
    int ck=1;
    vector<int> va,vb;
    for(int i=1;i<=n;++i)
    {
        if(!c[i])continue;
        va.push_back(a[i]);
        vb.push_back(b[i]);
    }
    for(int i=0;i<va.size();++i)
    {
        if(va[i]!=vb[i])return cout<<"No\n",void();
    }
    cout<<"Yes\n";
}

int main()
{
    ios::sync_with_stdio(0);cin.tie(0);
    int T;cin>>T;
    while(T--)solve();
    return 0;
}

J

#include<bits/stdc++.h>
using namespace std;
const int N=2e5+10;
int vis[N],deg[N],d[N];
char c[N];
vector<int> e[N];
int n;
vector<int> choose;
inline int calc(char col)
{
    queue<int> q;
    for(int v:choose)if(c[v]==col)q.push(v);
    while(q.size())
    {
        int x=q.front();q.pop();
        cout<<x<<' ';
        vis[x]=1;
        for(int v:e[x])
        {
            if(vis[v])continue;
            d[v]--;
            if(d[v]==1&&c[v]==col)q.push(v);
        }
    }
    cout<<'\n';
    int ans=0;
    for(int i=1;i<=n;++i)ans+= !vis[i] && c[i]==col;
    return ans;
}
inline void reset()
{
    memset(vis,0,sizeof vis);
    for(int i=1;i<=n;++i)d[i]=deg[i];
}
inline void solve()
{
    cin>>n;
    for(int i=1;i<=n;++i)cin>>c[i];
    for(int i=1;i<=n;++i)cout<<c[i]<<" \n"[i==n];
    for(int i=1,u,v;i<=n-1;++i)
    {
        cin>>u>>v;
        e[u].push_back(v);
        e[v].push_back(u);
        deg[u]++,deg[v]++;
    }
    for(int i=1;i<=n;++i)if(deg[i]==1)choose.push_back(i);
    int ans=0;
    reset(),ans+=calc('R');
    reset(),ans+=calc('G');
    reset(),ans+=calc('B');
    cout<<ans<<'\n';
}

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    return solve(),0;
}

L

#include<bits/stdc++.h>
using namespace std;
#define int long long

const int N=2e5+10;
const int MOD=998244353;
int tmp[N];
deque<int> q;
int f=0;
int n;
int ans=0;
inline void rep()
{
    if(f)
    {
        ans=ans*2%MOD;
        return ;
    }
    else 
    {
        if(2*q.size()<n)
        {
            int top=0,sz=q.size();
            for(int i=0;i<sz;++i)tmp[++top]=q[i];
            for(int i=1;i<=sz;++i)q.push_back(tmp[i]);
        } 
        else 
        {
            int top=0,sz=q.size();
            for(int i=0;i<sz;++i)tmp[++top]=q[i];
            q.clear();
            int res=n-sz;
            for(int i=sz-res+1;i<=sz;++i)q.push_back(tmp[i]);
            for(int i=1;i<=sz;++i)q.push_back(tmp[i]); 
            f=1;
        }
        ans=ans*2%MOD;
    }
}
inline void solve()
{
    cin>>n;
    string op;
    for(int i=1,x;i<=n;++i)
    {
        cin>>op;
        if(op=="Push")
        {   
            cin>>x;
            ans+=x,ans%=MOD;
            q.push_back(x);
            if(q.size()==n)q.pop_front();
        }
        else if(op=="Pop")
        {
            ans=(ans-q.back()+MOD)%MOD;
            q.pop_back();
        }
        else
        {
            rep();
        }
        cout<<ans<<'\n';
    }
}

signed main()
{
    ios::sync_with_stdio(0);cin.tie(0);
    int T=1;
    while(T--)solve();
    return 0;
}
posted @ 2025-10-02 17:36  Hanggoash  阅读(8)  评论(0)    收藏  举报
动态线条
动态线条end