• 第一次CSP模拟


    #include <iostream>
    #include <cstdio>
    #include <queue>
    #include <algorithm>
    #include <cmath>
    #include <cstring>
    #define inf 2147483647
    #define N 1000010
    #define p(a) putchar(a)
    #define For(i,a,b) for(int i=a;i<=b;++i)
    
    using namespace std;
    int n,ans,l,t;
    int a[N];
    char c[N];
    void in(int &x){
        int y=1;char c=getchar();x=0;
        while(c<'0'||c>'9'){if(c=='-')y=-1;c=getchar();}
        while(c<='9'&&c>='0'){ x=(x<<1)+(x<<3)+c-'0';c=getchar();}
        x*=y;
    }
    void o(int x){
        if(x<0){p('-');x=-x;}
        if(x>9)o(x/10);
        p(x%10+'0');
    }
    
    signed main(){
        cin>>(c+1);
        n=strlen(c+1);
        For(i,1,100) a[i]=i;
        l=1;
        For(i,1,n){
            t=c[i]-'a'+1;
            ans+=min(min(abs(a[l]-a[t]),a[l+26]-a[t]),min(abs(a[l]-a[t]),a[t+26]-a[l]));
            l=t;
        }
        o(ans);
        return 0;
    }
    View Code
    #include <iostream>
    #include <cstdio>
    #include <queue>
    #include <algorithm>
    #include <cmath>
    #include <cstring>
    #define inf 2147483647
    #define N 1000010
    #define p(a) putchar(a)
    #define For(i,a,b) for(int i=a;i<=b;++i)
    
    using namespace std;
    int n,x,ans;
    int a[N];
    void in(int &x){
        int y=1;char c=getchar();x=0;
        while(c<'0'||c>'9'){if(c=='-')y=-1;c=getchar();}
        while(c<='9'&&c>='0'){ x=(x<<1)+(x<<3)+c-'0';c=getchar();}
        x*=y;
    }
    void o(int x){
        if(x<0){p('-');x=-x;}
        if(x>9)o(x/10);
        p(x%10+'0');
    }
    
    signed main(){
        in(n);
        For(i,1,n) in(a[i]);
        For(i,1,n-1){
            if(a[i]<0){
                puts("NO");
                return 0;
            }
            if(a[i]&1) a[i+1]--;
        }
        if(a[n]<0||(a[n]&1)) puts("NO");
        else puts("YES");
        return 0;
    }
    View Code
    #include <iostream>
    #include <cstdio>
    #include <queue>
    #include <algorithm>
    #include <cmath>
    #include <cstring>
    #define inf 2147483647
    #define N 1000010
    #define p(a) putchar(a)
    #define For(i,a,b) for(int i=a;i<=b;++i)
    
    using namespace std;
    int n,X,Y,ans;
    int a[N];
    bool vis[1010][1010];
    struct node{
        int x;
        int y;
    }d[100];
    
    struct pos{
        int x;
        int y;
        int f;
        int id;
    };
    queue<pos>q;
    
    void in(int &x){
        int y=1;char c=getchar();x=0;
        while(c<'0'||c>'9'){if(c=='-')y=-1;c=getchar();}
        while(c<='9'&&c>='0'){ x=(x<<1)+(x<<3)+c-'0';c=getchar();}
        x*=y;
    }
    void o(int x){
        if(x<0){p('-');x=-x;}
        if(x>9)o(x/10);
        p(x%10+'0');
    }
    
    void bfs(){
        pos t;
        t.x=30;t.y=30;t.f=0;t.id=1;
        q.push(t);
        while(!q.empty()){
            t=q.front();q.pop();
            if(t.id>n) break;
            X=t.x;Y=t.y;
            For(i,1,a[t.id]){
                X+=d[t.f].x,Y+=d[t.f].y;
                if(!vis[X][Y]){
                    ans++;
                    vis[X][Y]=1;
                }
            }
            q.push((pos){X,Y,(t.f+1)%8,t.id+1});
            q.push((pos){X,Y,(t.f+7)%8,t.id+1});
        }
    }
    
    signed main(){
        in(n);
        For(i,1,n) in(a[i]);
        d[0].x=0;d[0].y=1;
        d[1].x=1;d[1].y=1;
        d[2].x=1;d[2].y=0;
        d[3].x=1;d[3].y=-1;
        d[4].x=0;d[4].y=-1;
        d[5].x=-1;d[5].y=-1;
        d[6].x=-1;d[6].y=0;
        d[7].x=-1;d[7].y=1;
        bfs();
        // For(i,1,50){
        //     For(j,1,50){
        //         if(vis[i][j]) p('*');
        //         else p('.');
        //         p(' ');
        //     }   
        //     p('
    ');
        // }
        o(ans);
        return 0;
    }
    View Code
  • 相关阅读:
    GoogLeNet解读
    caffe使用自己的数据做分类
    YOLO2解读,训练自己的数据及相关转载以供学习
    转:SSD详解
    c/c++输入处理,制定变量参数和值
    转载:给bash的提示符设置不同的颜色 一个很常用的功能,效果如下:
    绛河 初识WCF4
    初识WCF3
    初识WCF2
    初识WCF1
  • 原文地址:https://www.cnblogs.com/war1111/p/12462768.html
Copyright © 2020-2023  润新知