2017年西南民族大学程序设计竞赛-网络同步赛(代码)

20598954    nmphy    D    答案正确    8    512    486    C++    2017-12-30 14:30:35
20598712    nmphy    E    答案正确    3    504    695    C++    2017-12-30 14:25:59
20598181    nmphy    E    答案正确    3    484    659    C++    2017-12-30 14:15:16
20597638    nmphy    E    答案正确    3    504    505    C++    2017-12-30 14:05:08//比赛时候这里显示的是WA,而且显示准确率5%
20597208    nmphy    F    答案正确    3    272    569    C++    2017-12-30 13:57:09
20596793    nmphy    H    答案正确    3    384    312    C++    2017-12-30 13:49:00
20596485    nmphy    J    答案正确    15    512    493    C++    2017-12-30 13:43:23
20596125    nmphy    G    答案正确    4    396    768    C++    2017-12-30 13:36:12
20596077    nmphy    G    答案正确    3    384    768    C++    2017-12-30 13:35:22
20595884    nmphy    G    答案错误    4    384    840    C++    2017-12-30 13:31:43
20595709    nmphy    G    答案错误    4    384    825    C++    2017-12-30 13:28:29
20595099    nmphy    I    答案正确    4    384    386    C++    2017-12-30 13:16:36
20594924    nmphy    K    答案正确    4    436    555    C++    2017-12-30 13:13:09
20594652    nmphy    D    段错误    3    384    485    C++    2017-12-30 13:07:57
20594225    nmphy    C    答案正确    71    3904    560    C++    2017-12-30 12:59:14
20594201    nmphy    C    答案正确    69    4028    560    C++    2017-12-30 12:58:48
20593760    nmphy    B    答案正确    3    512    553    C++    2017-12-30 12:49:38
20593541    nmphy    A    答案正确    516    13056    988    C++    2017-12-30 12:44:16

反正就是12.30知道他们有比赛,赶紧注册的。。14.30AK,排名第7。。。难道我是难题渣。。。水题王。。。打表。。。贪心。。。

E题比赛时错了很多次,后来刷新后就A了。。。可能数据有点极端。(耽误了我20分钟。比完才告诉我A了,我以为10题挂机,结果AK了)。

A:

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
const int maxn=1010;
int x[maxn][maxn],y[maxn][maxn];
char ch[maxn][maxn],opt[10];
int main()
{
    int n,m,q,i,j,a,b;
    while(~scanf("%d%d%d",&n,&m,&q)){
        for(i=1;i<=n;i++)
         for(j=1;j<=m;j++)
          cin>>ch[i][j];
        for(i=1;i<=n;i++)
         for(j=1;j<=m;j++)
          x[i][j]=x[i][j-1]+(ch[i][j]==‘#‘?1:0);
        for(i=1;i<=n;i++)
         for(j=1;j<=m;j++)
          y[i][j]=y[i-1][j]+(ch[i][j]==‘#‘?1:0);
        for(i=1;i<=q;i++){
            scanf("%d%d%s",&a,&b,opt);
            if(opt[0]==‘D‘){
                if(y[n][b]-y[a-1][b]==0)  printf("YES\n");
                else printf("NO\n");
            }
            else if(opt[0]==‘U‘){
                 if(y[a][b]-y[0][b]==0) printf("YES\n");
                 else printf("NO\n");
            }
            else if(opt[0]==‘R‘){
                if(x[a][m]-x[a][b-1]==0)  printf("YES\n");
                else printf("NO\n");
            }
            else if(opt[0]==‘L‘)    {
                if(x[a][b]-x[a][0]==0) printf("YES\n");
                else printf("NO\n");
            }
        }
    } return 0;
}

B:

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
const int maxn=1010000;
char ch[maxn];
int vis[100];
int main()
{
    while(~scanf("%s",ch)){
        int L=strlen(ch);
        for(int i=0;i<=10;i++) vis[i]=0;
        bool Flag=true;int cnt=0;
        for(int i=0;i<L;i++) {
            if(ch[i]<‘0‘||ch[i]>‘9‘){ Flag=false;break;}
            if(vis[ch[i]-‘0‘]==0){
               cnt++;
               vis[ch[i]-‘0‘]=1;
               if(cnt>=2) { Flag=false;break;}
            }
        }
        if(Flag) printf("YES\n");
        else printf("NO\n");
    } return 0;
}

C:

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<string>
#define ll long long
using namespace std;
ll ans;
struct in
{
    ll a;
    ll b;
    ll c;
}x[100010];
bool cmp(in x,in y){
    return x.c>y.c;
}
int main()
{
    int i,j,k,n;
    while(~scanf("%d%d",&n,&k)){
        for(i=1;i<=n;i++) scanf("%lld",&x[i].a);
        for(i=1;i<=n;i++) scanf("%lld",&x[i].b);
        for(i=1;i<=n;i++) x[i].c=x[i].a-x[i].b;
        sort(x+1,x+n+1,cmp);
        for(i=1;i<=k;i++) ans+=x[i].a;
        for(i=k+1;i<=n;i++) ans+=x[i].b;
        printf("%lld\n",ans);
    } return 0;
}

D:

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<string>
#define ll long long
using namespace std;
const int maxn=10010;
ll ans,w[maxn],sum[maxn];
int main()
{
    int i,j,n,m,L,R;
    while(~scanf("%d",&n)){
        ans=0;
        for(i=1;i<=n;i++) scanf("%lld",&w[i]),sum[i]=sum[i-1]+w[i];
        scanf("%d",&m);
        for(i=1;i<=m;i++){
           scanf("%d%d",&L,&R);
           if(sum[R]-sum[L-1]>0) ans+=sum[R]-sum[L-1];
        }
        printf("%lld\n",ans);
    }  return 0;
}

E:

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<string>
#define ll long long
using namespace std;
const int Mod=1000000007;
ll ans1,ans2;
ll q_pow(ll a,ll x)
{
    ll res=1;a%=Mod;
    while(x){
        if(x&1LL) res=res*a%Mod;
        x>>=1;
        a=a*a%Mod;
    } return res;
}
int main()
{
    ll m,n;
    while(~scanf("%lld%lld",&n,&m)){
        m%=Mod;
        ans1=q_pow(m,n);
        ans2=q_pow(m-1,n-1);
        ans2=ans2*m%Mod;
        printf("%lld\n",((ans1-ans2)%Mod+Mod)%Mod);
    } return 0;
}

F:

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<string>
#define ll long long
using namespace std;
int x[]={0,1,2,2,3,3,4,4};
char c[20][20];
int main()
{
    int n,ans,i,j;
    while(~scanf("%d",&n)){
        if(n==0) return 0;
        ans=0;
        for(i=1;i<=13;i++){
            scanf("%s",c[i]+1);
            for(j=1;j<=13;j++){
                 if(c[i][j]==‘#‘) {
                     int tmp=i;
                     if(14-i<tmp) tmp=14-i;
                     if(j<tmp) tmp=j;
                     if(14-j<tmp) tmp=14-j;
                     ans+=x[tmp];
                 }
            }
        }
        printf("%.2lf\n",(double)(1.0*ans)/n);
    } return 0;
}

G:

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<string>
#define ll long long
using namespace std;
char a[10],b[10];
int s[100];
int main()
{
    int n,i,j,ans1,ans2;
    s[‘J‘-‘A‘+1]=1;
    s[‘M‘-‘A‘+1]=2;
    s[‘T‘-‘A‘+1]=3;
    s[‘S‘-‘A‘+1]=4;
    s[‘H‘-‘A‘+1]=5;
    while(~scanf("%d",&n)){
        ans1=0;ans2=0;
        for(i=1;i<=n;i++){
            scanf("%s%s",a,b);
            if(s[a[0]-‘A‘+1]==s[b[0]-‘A‘+1]) ans1++,ans2++;
            else if(s[a[0]-‘A‘+1]==s[b[0]-‘A‘+1]-1) ans1+=3;
            else if(s[b[0]-‘A‘+1]==s[a[0]-‘A‘+1]-1) ans2+=3;
            else if(s[a[0]-‘A‘+1]==1&&s[b[0]-‘A‘+1]==5) ans2+=3;
            else if(s[b[0]-‘A‘+1]==1&&s[a[0]-‘A‘+1]==5) ans1+=3;
        }
        if(ans1>ans2) printf("Alice\n");
        else if(ans1<ans2)printf("Bob\n");
        else printf("Draw\n");
    }return 0;
}

H:

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<string>
#define ll long long
using namespace std;
int main()
{
    int n,i;
    while(~scanf("%d",&n)){
        for(i=1;i<=n;i++) printf("gu...");
        printf("\nThe story is so boring. And I am so hungry!\n");
    } return 0;
}

I:

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<string>
#define ll long long
using namespace std;
ll ans;
ll dp[30][2];
int main()
{
    int n,i,j;
    while(~scanf("%d",&n)){
        dp[1][1]=1;dp[1][0]=1;
        for(i=2;i<=n;i++){
            dp[i][1]=dp[i-1][1]+dp[i-1][0];
            dp[i][0]=dp[i-1][1];
        }
        printf("%lld\n",dp[n][0]+dp[n][1]);
    }
    return 0;
}

J:

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<string>
#define ll long long
using namespace std;
const int maxn=100010;
char c[maxn],a[10],b[10];
int x[30];
int Up[maxn];
int main()
{
    int i,n,j,m,L;
    while(~scanf("%s",c)){
        for(i=1;i<=26;i++) x[i]=i;
        L=strlen(c);
        scanf("%d",&m);
        for(i=1;i<=m;i++){
            scanf("%s%s",a,b);
            swap(x[a[0]-‘a‘+1],x[b[0]-‘a‘+1]);
        }
        for(i=0;i<L;i++) printf("%c",x[c[i]-‘a‘+1]+‘a‘-1);
    } return 0;
}

K:

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<string>
#define ll long long
using namespace std;
const int maxn=10010;
ll sum[maxn],Max;
int main()
{
    int n,m,i,j,L,R;
    while(~scanf("%d%d",&n,&m)){
        Max=0;for(i=1;i<=5000;i++) sum[i]=0;
        for(i=1;i<=n;i++) {
            scanf("%d%d",&L,&R);
            sum[L]++;
            sum[R+1]--;
        }
        for(i=1;i<=5000;i++) {
            sum[i]+=sum[i-1];
            if(sum[i]>Max) Max=sum[i];
        }
        if(Max%m==0) printf("%lld\n",Max/m);
        else printf("%lld\n",Max/m+1);
    } return 0;
}

原文地址:https://www.cnblogs.com/hua-dong/p/8151327.html

时间: 2024-11-04 09:39:53

2017年西南民族大学程序设计竞赛-网络同步赛(代码)的相关文章

2017年西南民族大学程序设计竞赛-网络同步赛

题目描述 现在有一个N*M的矩形星图.其中包括恒星和黑洞.恒星可以向上.下.左.右发射光束,且允许光束从其中穿过:黑洞会吸收所有经过的光束. 若一颗恒星向上.下.左.右发射光束,你能告诉我,该光束能否避免被黑洞吸收,进入星图之外的区域么? 输入描述: 单组输入.第一行三个正整数N,M,Q(1 <= N,M<= 1000,1 <= Q <= 1000000),分别表示矩阵的行列,以及询问的个数,询问之间相互独立.然后一个N*M的矩阵,由’*’和’#’构成,表示星图.’*’表示恒星,’

西安电子科技大学第16届程序设计竞赛网络同步赛 G-小国的复仇

sb找规律. 分解因数. 1 #include<bits/stdc++.h> 2 #define LL long long 3 #define fi first 4 #define se second 5 #define mk make_pair 6 using namespace std; 7 8 const int N=1e6+7; 9 const int M=100+7; 10 const int inf=0x3f3f3f3f; 11 const LL INF=0x3f3f3f3f3f3

陕西师范大学第七届程序设计竞赛网络同步赛 J 黑猫的小老弟【数论/法拉数列/欧拉函数】

链接:https://www.nowcoder.com/acm/contest/121/J来源:牛客网 题目描述 大家知道,黑猫有很多的迷弟迷妹,当然也有相亲相爱的基友,这其中就有一些二五仔是黑猫的小老弟.小老弟是如何产生的呢?聪明的iko告诉黑猫,其实是有规律的(她怎么知道???)! 一开始,有两个原始二五仔,代号0/1和1/1, 从原始二五仔到第n代小老弟,每代相邻两个小老弟a/b和c/d,产生一个新的小老弟(a+c)/(b+d),成为下一代新成员.将每一代的小老弟代号约分(包括0/1,1/

第十四届华中科技大学程序设计竞赛决赛同步赛

第十四届华中科技大学程序设计竞赛决赛同步赛 A Beauty of Trees 思维,带权并查集 题意: 长度为 n 的序列,没告诉你具体数是多少.只给出 m 个查询,表示区间 [l,r] 的异或和为 k .但是第 i 个查询如果和前面的查询有矛盾,那就是错误的.输出所有的错误查询. tags: 对于一个查询,我们知道 sum[r] ^ sum[l-1] = k . 建成图就是 r -> (l-1) ,但要快速地求出异或值,就要用带权并查集处理.如有 sum[r]^sum[l-1]=k,即 r

12.28西南民族大学第十一届程序设计竞赛(同步赛)

A了9题 不太行 虽然前期速度还行,由于有道poj原题写过直接粘了,但中期由于被B卡了,心态有点炸.后面也做不太动. 来补两道题. B题: 题意:求最短的让所有字符都至少出现一次的字符串的长度 https://ac.nowcoder.com/acm/contest/3570/B 比赛里一直想的假算法,什么维护每个字符第一次出现,最后一次出现的位置,那答案在中间呢? 枚举长度,端点,check,TLE,真敢写.真的sb,太假了. 然后这题赛后看了别人代码,发现类似个滑动窗口,动态的去维护呀,虽然我

华中农业大学第五届程序设计大赛网络同步赛解题报告(转)

A.Little Red Riding Hood B.Choosy in Food •F[i]:从第I个点到终点的期望步数 •F[i] = (F[i + k] + k ) * P[k] •F[ed] = 0 •高斯消元求解 •注意存在从起点不能到达终点的情况 C.Friends •F[rt][len] :节点rt的子孙里,距离rt的为len的节点个数 •ans[rt][len] : 整棵树上,距离rt为len的节点个数 •F值一次简单的深搜可以得到 •而ans[rt][len] = F[rt][

华中农业大学第五届程序设计大赛网络同步赛题解

A.Little Red Riding Hood B.Choosy in Food •F[i]:从第I个点到终点的期望步数 •F[i] = (F[i + k] + k ) * P[k] •F[ed] = 0 •高斯消元求解 •注意存在从起点不能到达终点的情况 C.Friends •F[rt][len] :节点rt的子孙里,距离rt的为len的节点个数 •ans[rt][len] : 整棵树上,距离rt为len的节点个数 •F值一次简单的深搜可以得到 •而ans[rt][len] = F[rt][

华中农业大学第四届程序设计大赛网络同步赛 I

Problem I: Catching Dogs Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 1130  Solved: 292[Submit][Status][Web Board] Description Diao Yang keeps many dogs. But today his dogs all run away. Diao Yang has to catch them. To simplify the problem, we assu

华中农业大学第四届程序设计大赛网络同步赛 J

Problem J: Arithmetic Sequence Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 1766  Solved: 299[Submit][Status][Web Board] Description Giving a number sequence A with length n, you should choosing m numbers from A(ignore the order) which can form an