zoukankan      html  css  js  c++  java
  • Contest1814

    Scores of Final Examination

    #include <bits/stdc++.h>
     
    using namespace std;
    typedef long long ll;
    ll mod=10000;
    int n,m;
    int c[1006][66];
    int p[1006];
    int main()
    {
     
        while(scanf("%d%d",&m,&n)!=EOF)
        {
            if(!m&&!n)break;
            int mx=0;
            memset(p,0,sizeof(p));
            for(int i=1;i<=n;++i){
                for(int j=1;j<=m;++j){
                    scanf("%d",&c[i][j]);
                    p[j]+=c[i][j];
                    mx=max(mx,p[j]);
                }
     
            }
            printf("%d
    ",mx);
        }
        return 0;
    }

    On-Screen Keyboard

    #include <bits/stdc++.h>
    using namespace std;
     
    struct node
    {
        int x,y;
        friend bool operator <(node a,node b)
        {
            return a.x<b.x;
        }
    };
    map<char,node> mm;
    string s;
    int n,m;
    int main() {
        while (~scanf("%d%d", &n, &m)!=EOF) {
            mm.clear();
            int ans=0;getchar();
            if (n==0&&m==0) break;
            for(int i=1;i<=n;++i)
            {
     
                getline(cin,s);
                //cout<<s<<endl;
                for(int j=0;s[j];++j)
                {
                    if(s[j]=='_') continue;
                    node t;
                    t.x=i;
                    t.y=j+1;
                    mm[s[j]]=t;
                }
            }
            getline(cin,s);
           // cout<<s<<endl;
            ans+=mm[s[0]].x+mm[s[0]].y-1;
            for(int i=1;s[i];++i)
            {
                ans+=abs(mm[s[i]].x-mm[s[i-1]].x)+abs(mm[s[i]].y-mm[s[i-1]].y)+1;
            }
            printf("%d
    ", ans);
        }
    }
    

      

    Tally Counters

    #pragma GCC optimize(3,"Ofast","inline")
    #include <bits/stdc++.h>
    using namespace std;
    void read(int &x)
    {
        int f=1;x=0;char s=getchar();
        while(s<'0'||s>'9'){if(s=='-')f=-1;s=getchar();}
        while(s>='0'&&s<='9'){x=x*10+s-'0';s=getchar();}
        x*=f;
    }
    int n,m;
    int ans;
    const int maxn=1e3+5;
    int a[maxn];
    int x[maxn];
    priority_queue<int>q;
    int main()
    {
        while(1)
        {
            read(n);
            read(m);
            if(!n&&!m) break;
            ans=0;
            while(!q.empty()) q.pop();
            for(register int i=1;i<=n;++i) read(a[i]);
            for(register int i=1;i<=n;++i)
            {
                int t;
                read(t);
                if(t>=a[i]) x[i]=t-a[i];
                else  x[i]=m-a[i]+t;
            }
            for(register int i=1;i<=n;++i)
            {
                if(x[i]>x[i-1])
                {
                    int t=x[i]-x[i-1];
                    ans+=t;
                    if(!q.empty())
                    {
                        int s=q.top();
                        if(m-s<t)
                        {
                            ans=ans-t+m-s;
                            q.pop();
                            q.push(m-t);
                        }
     
                    }
                }
                else if(x[i]<x[i-1])
                {
                    q.push(x[i-1]-x[i]);
                }
            }
            printf("%d
    ",ans);
        }
        return 0;
    }

    Balance Scale

    #pragma GCC optimize(3,"Ofast","inline")
    #include <bits/stdc++.h>
     
    using namespace std;
    typedef long long ll;
    unordered_map<ll,bool> m1;
    int n,m,cnt;
    const int maxn=6e4;
    ll a[maxn],tot1,tot2,ans;
    ll w[105],b[105];
     
    inline void dfs(int now,ll sum)
    {
        if(now>n)
        {
            m1[sum]=1;
            return;
        }
        dfs(now+1,sum);
        dfs(now+1,sum+w[now]);
        dfs(now+1,sum-w[now]);
    }
    inline ll read()
    {
        ll res=0,f=1;
        char ch=getchar();
        while (!isdigit(ch))
        {
            if (ch=='-')
            {
                f=-f;
            }
            ch=getchar();
        }
        while (isdigit(ch))
        {
            res=(res<<3)+(res<<1)+ch-'0';
            ch=getchar();
        }
        return f*res;
    }
     
    int main() {
        while (1) {
            m=read();n=read();
            if (n == 0 && m == 0) break;
            m1.clear();
            cnt = tot1 = tot2 = 0;
            ans = 0x3f3f3f3f3f3f3f3f;
            for (int i = 1; i <= m; ++i) a[i]=read();
            for (int i = 1; i <= n; ++i) w[i]=read();
            dfs(1, 0);
            unordered_map<ll, bool>::iterator it;
            for (int i = 1; i <= m; ++i) {
                if (m1[a[i]])
                    cnt++;
                else {
                    b[tot2++] = a[i];
                    m1.erase(a[i]);
                }
            }
            for (it = m1.begin(); it != m1.end(); ++it) a[tot1++] = it->first;
            if (cnt == m) {
                printf("0
    ");
                continue;
            }
            for (int i = 0; i < tot1; ++i) {
                cnt = 1;
                ll x = abs(a[i] - b[0]);
                for (int j = 1; j < tot2; ++j) {
                    if (m1.count(b[j] - x) || m1.count(b[j] + x)) {
                        cnt++;
                    }
                }
                if (cnt == tot2) {
                    ans = min(ans, x);
                }
            }
            if (ans == 0x3f3f3f3f3f3f3f3f) printf("-1
    ");
            else printf("%lld
    ", ans);
        }
    }
    

      

  • 相关阅读:
    log4j(二)——如何控制日志信息的输出?
    Java生成指定范围内的工具类
    JavaBean和Map转换封装类
    cron表达式详解
    数据库主键按照固定前缀生成工具类
    邮件发送工具类
    NFC
    牛逼辩论
    快速排序
    希尔排序
  • 原文地址:https://www.cnblogs.com/Accpted/p/11396087.html
Copyright © 2011-2022 走看看