首页 > 其他分享 >2021 Xinjiang Provincial Collegiate Programming Contest

2021 Xinjiang Provincial Collegiate Programming Contest

时间:2022-08-30 22:33:10浏览次数:66  
标签:Provincial Xinjiang p1 cout Contest int cin solve fo

 

 G. cocktail with snake

题意:给区间宽高:n,m,蛇形走位,问k步之后和原点的曼哈顿距离是多少

分析

int t = k / n

就是走k步后当行数

如果 t 是奇数,说明在往左走

如果 t 是偶数,说明在往右走

k % n 就是当前层往左往右走的步数

讨论一下,算出结果就行了

//-------------------------代码----------------------------
 
#define int ll
const int N = 1e5+10;
int n,m,k;
 
void solve()
{
    cin>>n>>m>>k;
//    n-1步
//    1步
//    n-1步
//    k / n就是层数
//    k % n就是位置
    if((k / n) % 2 == 0) {
        cout<< k / n + k % n <<endl;
    } else {
//        k=n -- n-1
//        k=n+1 -- n-2
//        k=2n-1 -- 0
        
        int t = k % n;
        int m = n - 1 - t;
        cout<< k / n +     m<<endl;    
    }
}
void main_init() {}
signed main(){
    AC();clapping();TLE;
    cout<<fixed<<setprecision(12);
    main_init();
//  while(cin>>n,n)
//  while(cin>>n>>m,n,m)
    int t;cin>>t;while(t -- )
    solve();
//    {solve(); }
    return 0;
}
 
/*样例区
 
 
*/
 
//------------------------------------------------------------

K. chino with c language

分析

题意看懂就会了,就是把前面的重复放到某个位置,放几个。另一个是把之前的赋值到某些位置

//#define int ll
const int N = 1e5+10;
int n,m;
char a[N],b[N],c[N];
void solve()
{
//    cin>>n>>m;
    cin>>n;
    cin>>a+1;
    int p1,p2,l;cin>>p1>>p2>>l;
    int cnt = 0;
    fo(i,1,n) {
        b[i] = a[i];
        c[i] = a[i];
    } 
    int tmp = p1;
    fo(i,p2,n) {
        a[i] = a[p1++];
        cnt ++ ;
        if(cnt >= l) break;
    }
    fo(i,1,n) {
        cout<<a[i];
    }
    cout<<endl;
    cnt = 0;
    fo(i,p2,n) {
        c[i] = b[tmp++];
        cnt ++ ;
        if(cnt >= l) break;
    }
    fo(i,1,n) cout<<c[i];cout<<endl;
}

 

标签:Provincial,Xinjiang,p1,cout,Contest,int,cin,solve,fo
From: https://www.cnblogs.com/er007/p/16641121.html

相关文章

  • AtCoder Beginner Contest 266 一句话题解
    AandBsbt,不讲。C垃圾计算几何,问是不是一个凸包,搞份板子交就可以了。D简单dp,令\(f(i,j)\)表示第\(i\)个时间在第\(j\)个位置的最大价值,从上一个时间转移,可以......
  • AtCoder Beginner Contest 266
    比赛链接:https://atcoder.jp/contests/abc266C-ConvexQuadrilateral题意:平面图上有一个四边形,按照逆时针顺序给定四个点的坐标,判断四边形是不是凸的。思路:求两条......
  • AtCoder Beginner Contest 179
    https://atcoder.jp/contests/abc179我的AC代码https://atcoder.jp/contests/abc179/submissions/me?f.Task=&f.LanguageName=&f.Status=AC&f.User=HinanawiTenshi这......
  • AtCoder Beginner Contest 265(D-E)
    D-IrohaandHaiku(NewABCEdition)题意:找一个最少含有三个点的区间,将区间分成三块,三块的和分别为p,q,r,问是否存在这样的区间题解:先预处理一遍前缀和,和每一个前缀......
  • The 2021 Shanghai Collegiate Programming Contest D. Zztrans 的班级合照
    计数dp好题用组合数想了一下,需要容斥,情况太复杂用计数dp,\(dp[i][j]\)表示前\(i\)个人有\(j\)个在第一排,并且按照身高遍历i,这样满足了第一个偏序关系(“排成人数相同的两排......
  • Educational DP Contest G - Longest Path
    目录题目思路代码题目给定一个有向无环图,叫你求图中的最长路径思路记忆化搜索,定义f[i]:表示从点i开始的最长路径长度,那么很容易得出转移方程为\(f_i=max(f_i,f_......
  • 【Virt.Contest】CF1155(div.2)
    CF传送门T1:ReverseaSubstring只有本身单调不减的字符串不能转换为字典序更小的字符串。否则肯定会出现\(s_i>s_{i+1}\)的情况。所以只要从头到尾扫一遍,找到\(s_i>......
  • AtCoder Beginner Contest 266 题解
    只有ABCDEFG的题解。A模拟。代码voidmian(){strings;cin>>s;intpos=int(s.size())/2;cout<<s[pos]<<endl;}B模拟,注意longlong。......
  • AtCoder Beginner Contest 266 D(DP)
    ……题面Takahashi要抓Snuke。好狠心的Takahashi呀(bushiSnuke有5个洞(,在$0m,1m,2m,3m,4m$处。Takahashi开始在$0m$处,每秒他能走$1m$。第$i......
  • AtCoder Beginner Contest 266 A-D
    AtCoderBeginnerContest266https://atcoder.jp/contests/abc266EF待补A-MiddleLetter输出字符串最中间的那个字母#include<bits/stdc++.h>usingnamespace......