• The 2019 University of Jordan Collegiate Programming Contest


    链接:https://codeforc.es/gym/102267

    A. Picky Eater

    直接比较

    int main(){
        int x ,y;
        scanf("%d %d" ,&x ,&y);
        if(x>=y){
            return printf("1"),0;
        }
        else return printf("0"),0;
        return 0;
    }
    View Code

    B. Primes

    素数筛,log判断

    int prime[maxn],num_prime = 0;
    int vis[maxn];
    void is_prime(int N){
        for(int i=2;i<=N;i++){
            if(!vis[i]){
                prime[num_prime++] = i;
                vis[i] = i;
            }
            for(int j=0;j<num_prime&&i*prime[j]<=N;j++){
                vis[i*prime[j]] = prime[j];
                if(!(i%prime[j])){
                    break;
                }
            }
        }
        return;
    }
    int n;
    int main(){
        scanf("%d", &n);
        is_prime(n);
        for(int i = 0; i < num_prime; i++){
            int j = prime[i];
            int p = lower_bound(prime,prime+num_prime,n-j)-prime;
            if(prime[p]==n-j){
                return printf("%d %d",j,n-j),0;
            }
     
        }
        printf("-1");
        return 0;
    }
    View Code

    C. Matryoshka Dolls

    一个循环

    int x,y;
    int main(){
        scanf("%d %d", &x, &y);
        int ans = 0;
        while(x){
            ans++;
            x/=y;
        }printf("%d",ans);
        return 0;
    }
    View Code

    D. Robots Easy

    12*12,直接rand乱跑

    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    //#include<cmath>
    #include<cstring>
    #include<string>
    #include<stack>
    #include<queue>
    #include<deque>
    #include<set>
    #include<vector>
    #include<map>
        
    #define fst first
    #define sc second
    #define pb push_back
    #define mem(a,b) memset(a,b,sizeof(a))
    #define lson l,mid,root<<1
    #define rson mid+1,r,root<<1|1
    #define lc root<<1
    #define rc root<<1|1
     
    using namespace std;
     
    typedef double db;
    typedef long double ldb;
    typedef long long ll;
    typedef unsigned long long ull;
    typedef pair<int,int> PI;
    typedef pair<ll,ll> PLL;
     
    const db eps = 1e-6;
    const int mod = 998244353;
    const int maxn = 2e6+100;
    const int maxm = 2e6+100;
    const int inf = 0x3f3f3f3f;
    const ll INF = 0x3f3f3f3f3f3f3f3f;
    //const db pi = acos(-1.0);
     
    int x,y;
    int a[111][111];
    vector<char>ans;
    int dx,dy;
    inline int Rand(){
        static int seed = 2333;
        return seed = (int)((((seed ^ 998244353) + 19260817ll) * 19890604ll) % 1000000007);
    }
    int main(){
        int t;
        scanf("%d", &t);
        a[6][6]=a[6][7]=a[7][6]=a[7][7]=1;
        a[9][2]=a[9][3]=a[10][2]=1;
        a[9][10]=a[9][11]=a[10][11]=1;
        a[3][3]=a[3][10]=a[10][3]=a[10][10]=2;
        while(t--){
            ans.clear();
            scanf("%d %d" ,&x ,&y);
            while(a[x][y]!=2){
                //printf("%d %d
    ",x,y);
                int op;
                while(op=rand()%5){
                    dx=dy=0;
                    char ch;
                    if(op==1){dx=-1;ch='U';}
                    if(op==2){dx=1;ch='D';}
                    if(op==3){dy=-1;ch='L';}
                    if(op==4){dy=1;ch='R';}
                    if(op==0)continue;
                    //printf("      %d
    ",op);
                    if(x+dx>=1&&x+dx<=12&&y+dy>=1&&y+dy<=12){
                        if(a[x+dx][y+dy]==1)continue;
                        x+=dx;y+=dy;
                        ans.pb(ch);
                        break;
                    }
                    else continue;
                }
            }
            printf("%d
    ",ans.size());
            for(int i = 0; i < (int)ans.size(); i++){
                printf("%c",ans[i]);
            }printf("
    ");
     
        }
        return 0;
    }
    View Code

    H. Circle of Polygon

    一个公式

    double v,s;
    int main(){
        scanf("%lf %lf", &v, &s);
        printf("%.9lf",1.0/2.0*pi*s*s/(1.0-cos(2*pi/v)));
        
        return 0;
    }
    View Code

    I. Ultimate Army

    左括号之后一定跟一个数,遇到左括号,下一个数的sup就是栈顶,遇到数字入栈,遇到右括号出栈

    int n;
    char a[maxn];
    stack<int>s;
    vector<int>v;
    int ans[maxn];
    int main(){
        scanf("%d", &n);
        scanf("%s",a+1);
        int len = strlen(a+1);
        int tmp = 0;
        int gao = 0;
        for(int i = 1; i <= len; i++){
            if(a[i]>='0'&&a[i]<='9'){
                tmp*=10;
                tmp+=a[i]-'0';
            }
            else{
                if(tmp!=0)v.pb(tmp);
                tmp=0;
            }
            if(a[i]=='(')v.pb(-1);
            else if(a[i]==')')v.pb(-2);
        }
        for(int i = 0; i < (int)v.size(); i++){
            if(v[i]>0){
                if(gao)ans[v[i]]=s.top();
                s.push(v[i]);
                gao=0;
            }
            else if(v[i]==-1){
                gao=1;
            }
            else if(v[i]==-2){
                s.pop();
            }
        }
        for(int i = 1; i <= n; i++){
            printf("%d ",ans[i]);
        }
        return 0;
    }
    View Code

     K. Birthday Puzzle

    2^20暴力dfs维护答案即可

    ll ans;
    int n;
    int a[maxn];
    void dfs(int x, int now){
        if(x==n+1){
            ans+=now;
            return;
        }
        dfs(x+1,now|a[x]);
        dfs(x+1,now);
    }
    int main(){
        scanf("%d", &n);
        for(int i = 1; i <= n; i++){
            scanf("%d", &a[i]);
        }
        dfs(1,0);
        printf("%lld",ans);
        return 0;
    }
    View Code
  • 相关阅读:
    Laravel 手动分页实现
    大话Web-Audio-Api
    关于audio标签播放跨域的问题
    jquery的命名空间
    正则表达式的应用
    七天学会ASP.NET MVC (六)——线程问题、异常处理、自定义URL 【转】
    七天学会ASP.NET MVC (五)——Layout页面使用和用户角色管理 【转】
    七天学会ASP.NET MVC (四)——用户授权认证问题 【转】
    七天学会ASP.NET MVC (三)——ASP.Net MVC 数据处理 【转】
    七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递 【转】
  • 原文地址:https://www.cnblogs.com/wrjlinkkkkkk/p/11234506.html
Copyright © 2020-2023  润新知