zoukankan      html  css  js  c++  java
  • 自测题的整理(持续更新)

    LITTLESUN昨天找了点模拟和排序的小水怪来了一波恶战,下面进入战况回播!

    小怪一 链接:https://www.luogu.org/problemnew/show/P1426

    姓名:洛谷P1426 小鱼会有危险吗  

    等级:入门难度(模拟)

    这道题的第二个测试点容易出现问题,我们很容易忽略掉如果一开始就在猎人范围内的情况。所以在最开始要对初始状态进行分类讨论。在进入范围后的判断要记得使用*0.98的数值。并且要记得减去范围内已经走过的范围。

    AC代码如下:

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<algorithm>
    using namespace std;
    int main()
    {
    double s,x;
    scanf("%lf%lf",&s,&x);
    double a=7;
    if(x>=s)
    {
    if(2*x>7)
    {
    printf("y");
    return 0;
    }
    else
    {
    printf("n");
    return 0;
    }
    }
    else
    {
    double total=0;
    while(a>0)
    {
    total=total+a;
    a=a*0.98;
    if(total>=(s-x))
    {
    if(2*x>(total-s+x+a))
    {
    printf("y");
    return 0;
    }
    else
    {
    printf("n");
    return 0;
    }
    }
    }
    return 0;
    }

    小怪二 链接:https://www.luogu.org/problemnew/show/P1014

    姓名:洛谷P1014 Cantor表

    等级:普及

    AC代码如下:

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<algorithm>
    #define MAXN 000
    using namespace std;
    int A[MAXN][MAXN];
    int main()
    {
    int N;
    scanf("%d",&N);
    /*for(int i=1;i<=N;i++)
    {
    for(int j=1;j<=N;j++)
    {
    A[i][j]=i/j;
    }
    }
    printf("%d",A[4][1]);*/
    int total=0;
    int p,x,y;
    for(int i=1;i<=N;i++)
    {
    total=total+i;
    if(total>=N)
    {
    total=total-i;
    p=N-total;
    if(i%2==0)
    {
    x=1+(p-1);
    y=i-(p-1);

    }
    else
    {
    y=1+(p-1);
    x=i-(p-1);
    }
    printf("%d/%d",x,y);
    return 0;
    }
    }
    return 0;
    }

    小怪三  链接:https://www.luogu.org/problemnew/show/P1071

    姓名:洛谷P1071 潜伏者

    等级:NOIP 2009 提高组 第一题

    这个题LITTLESUN本来是90然后一直过不去,后来在测试点的数据里发现了一个大坑,我们不仅要注意不能多对一还要考虑到一对多的情况。我在原代码的基础上加了一个map进行标记,但我觉得可能麻烦了,回来有新的想法再补上呢

    AC代码如下:

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<algorithm>
    #include<map>
    #define MAXN 2000
    using namespace std;
    char A[MAXN];
    char B[MAXN];
    int C[MAXN];
    char D[MAXN];
    char E[MAXN]={'*','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
    map<char,bool>m;
    int main()
    {
    scanf("%s",A);
    scanf("%s",B);
    scanf("%s",D);
    for(int i=0;i<100;i++)
    {
    C[i]=666;
    }
    for(int i=0;i<strlen(A);i++)
    {
    if(C[A[i]-'A'+1]==666||C[A[i]-'A'+1]==(B[i]-'A'+1)-(A[i]-'A'+1))
    {
    C[A[i]-'A'+1]=(B[i]-'A'+1)-(A[i]-'A'+1);
    }
    else
    {
    printf("Failed");
    return 0;
    }
    }
    int cnt=0;
    for(int i=1;i<=26;i++)
    {
    if(C[i]!=666)cnt++;
    else continue;
    }
    if(cnt==26)
    {
    for(int i=1;i<=26;i++)
    {
    E[i]=E[i]+C[E[i]-'A'+1];
    if(!m[E[i]]) m[E[i]]=true;
    else
    {
    printf("Failed");
    return 0;
    }


    }
    for(int i=0;i<strlen(D);i++)
    {
    D[i]=D[i]+C[D[i]-'A'+1];
    }
    }
    else
    {
    printf("Failed");
    return 0;
    }
    //printf("%d",C[6]);
    for(int i=0;i<strlen(D);i++)
    {
    printf("%c",D[i]);
    }
    return 0;
    }

  • 相关阅读:
    springboot2整合seata(AT模式)
    SpringBoot2整合minio
    Minio安装(docker)、初始密码及界面操作
    elasticsearch mapper创建
    elasticsearch 中文分词
    C++11:20weak_ptr弱引用的智能指针
    C++11:19unique_ptr独占的智能指针
    C++11:18shared_ptr共享的智能指针
    C++11:17可变参数模版和type_traits的综合应用
    C++11:16可变参数模板
  • 原文地址:https://www.cnblogs.com/LITTLESUNwl/p/10493643.html
Copyright © 2011-2022 走看看