NYNU_ACM 實驗室招新 第二週周賽

ACM_e發表於2017-10-21

A:

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
bool a[105][105];
int main()
{
    memset(a,0,sizeof(a));
    int n,m;
    char tmp;
    cin>>n>>m;
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        {
            cin>>tmp;
            if(tmp=='*') a[i][j]=1;
        }
    }
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        {
            if(a[i][j]==1) printf("*");
            else
            {
                printf("%d",a[i+1][j+1]+a[i+1][j-1]+a[i+1][j]+a[i][j+1]+a[i][j-1]+a[i-1][j+1]+a[i-1][j]+a[i-1][j-1]);
            }
        }
        printf("\n");
    }
}

B:

#include<stdio.h>
#include<string.h>
char e[85][85];
char op1[2],op2[2];
int main()
{
    int n,T=0;
    while(~scanf("%d %s %s",&n,op1,op2))
    {
        if(T)puts("");
        if(n==1)
        {
            printf("%c\n",op1[0]);
            continue;
        }
        char x,a=op1[0],b=op2[0];
        int tmp=1;
        if(((n+1)/2)%2==1)
        {
            char c=a;
            a=b;
            b=c;
        }
        while(tmp<=(n+1)/2)
        {
            int m=n-tmp+1;
            if (tmp%2==1)x=b;
            else x=a;
            for(int i=tmp; i<=m; i++)
            {
                e[tmp][i]=x;
                e[m][i]=x;
                e[i][tmp]=x;
                e[i][m]=x;
            }
            tmp++;
        }
        e[1][1]=e[n][n]=e[1][n]=e[n][1]=' ';
        for(int i=1; i<=n; i++)
        {
            for(int j=1; j<=n; j++)
                printf("%c",e[i][j]);
            puts("");
        }
        T++;
    }
    return 0;
}
C:

D:

#include <stdio.h>
#include <string.h>
int main ()
{
    int i,l,m=0,n=0,s1=1,s2=0,v=1;
    char a[41];
  scanf("%s",a);
  l=strlen(a);
  for (int i=0; i<l ; i++){
        if (a[i]=='#'){
            m++;
            s2=s2+m;
        }else{
            n++;
            m=0;
        }
  }
  for(i=1;i<n;i++)
  {
      v=2*v;
      s1=s1+v;
  }
  printf("%d",s1+s2);
  return 0;
}

E:

#include<bits/stdc++.h>
using namespace std;
int a[10001];
int main(){
   int n,m;
     cin>>n>>m;
   for(int j=0;j<=n;j++){
      a[j]=1;
   }
   for(int j=0;j<m;j++){
      int x,y;
      cin>>x>>y;
      for(int k=x;k<=y;k++){
         a[k]=0;
      }
   }

   int ans=0;
   for(int j=0;j<=n;j++){
      if(a[j]) ans++;
   }

   cout<<ans<<endl;
   return 0;
}


F:

#include <stdio.h>
#include <string.h>
int main()
{
    char a[100];
    int n,i;
     
    printf("");
    scanf("%d",&n);
     
    scanf("%s",&a);
     
    for(i=0;i<strlen(a);i++){
         
        if((a[i]+n)>'z'){
            a[i]=(a[i]+n-'z')+'a'-1;
        }else{
            a[i]=a[i]+n;
        }
         
    }
     
    printf("%s",a);
     
    return 0;
}

G:

#include<stdio.h>
int main()
{
    int n,m,i,a=1,b=1;
    scanf("%d%d",&n,&m);
    int x[n+1];
    for(i=1;i<=n;i++)
    scanf("%d",&x[i]);
    for(i=2;i<=n;i++)
    {
        if(x[i]>x[i-1])   a++;
        else    a=1;
        if(a>b)
           b=a;
    }
    if(b>=m)
    printf("YES");
    else
    printf("NO");
    return 0;
}

H:

#include <stdio.h>
#include<bits/stdc++.h>
using namespace std;
int prime(int n)
{
    int i;
    for(i=2; i*i <= n; i++)
        if(n % i == 0)
            return 0;
    return 1;
}
int main()
{
    int i, j, c, n=0, a[500];
    while(cin>>n&&n){
        c = 0;
        for(j = 2; j < n / 2; j++)
            if(prime(j) && prime(n - j))
                c++;
        printf("%d\n", c);
    }
    return 0;
}


補充知識點: 

補充著素數的方法

#include<bits/stdc++.h>
using namespace std;
int prime(int n){
   if(n==1) return v0;
   else if(n==2) return 1;
   else if(n%2==0) return 0;
   else{
       for(int j=3;j<n;j+=2){
           if(n%j==0) return 0;
       }
       return 1;
   }
   return 1;
}
int main(){


    for(itn j=1;j<1000;j++){
        if(prime(j)){
            cout<<j<<endl;
        }
    }
}
































相關文章