• 模拟和枚举


    模拟和枚举

    模拟:顾名思义,模拟就是我们去用代码实现某种操作,他怎么说你就怎么做,他要求你做什么你就做什么。

    模拟是竞赛中最基础的一项基本功,对思想难度要求不高,主要考察选手的语法和代码能力

    1.水仙花数

    输出所有的"水仙花数". 所谓"水仙花数"是指这样的一个三位数:其各位数字的立方和等于该数本身。

    例如:371是一个"水仙花数",371=3^3+7^3+1^3

    这个题模拟个位,十位,百位三层for循环

    #include<iostream>
    #include<cstdio>
    #include<iostream>
    #include<algorithm>
    #include<cstring>
    using namespace std;
    int main()
    {
    int i,j,k,n;
    for(n=100;n<1000;n++)
    {
    i=n/100;//分解出百位
    j=n/10%10;//十位
    k=n%10;//个位
    if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
    printf("%-5d",n);
    }
    return 0;
    }

    2.寻找三位数

    将1, 2, …, 9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成1: 2: 3的比例,试求出所有满足条件的三个三位数。

    例如:三个三位数192, 384, 576满足以上条件 。

    这题枚举100-333的部分,将次数的两倍、三倍与次数比较看看有没有重叠数字,如果没有则成立。

    #include<iostream>
    #include<cstdio>
    #include<iostream>
    #include<algorithm>
    #include<cstring>
    using namespace std;
    int c[10]={0};
    void s(int x)
    {
    c[x%10]++;
    c[x/10%10]++;
    c[x/100]++;
    }
    int main()
    {
    for(int i=100;i<=333;i++)
    {
    int x=i,y=i*2,z=i*3;
    memset(c,0,sizeof(c));
    s(x);
    s(y);
    s(z);
    bool p=1;
    for(int j=1;j<=9;j++) if(c[j]!=1) p=0;
    if(p)
    {
    cout<<x<<" "<<y<<" "<<z<<endl;
    }
    }
    return 0;
    }

    3.河伯阵型

    河伯最近在打一个叫魔兽争霸3的游戏,这个游戏可以控制兵推掉对面的老家,而这个游戏阵型很重要,河伯现在要排成一个菱形,所以请你帮河伯排一下阵型 【样例输入】 3 ^

    【样例输出】 ^ ^^^ ^^^^^ ^^^ ^

    这题不用说,模拟。

     4.usaco-1.1.2-Greedy Gift Givers

    一共有n个人要互相送礼物,每个人准备了一些钱来给自己想送的人买礼物。 同一个人送出的礼物都是等价的(整数),多余的钱会自己留下 求n个人送完礼物之后,每个人都赚了或者亏了多少钱。

    样例输入

    5

    dave

    laura

    owen

    vick

    amr

    dave

    200

    3

    laura

    owen

    vick

    owen

    500

    1

    dave

    amr

    150

    2

    vick

    owen

    laura

    0

    2

    amr

    vick

    vick

    0

    0

    样例输出

    dave 302

    laura 66

    owen -359

    vick 141

    amr -150

    这题也是模拟,模拟送礼物,模拟后输出每人赚亏

  • 相关阅读:
    Byteart Retail V3 全新的面向.NET与领域驱动设计的企业应用实践案例
    算法设计和数据结构学习堆排序
    OutputCacheProvider OutputCache的一点点认识
    使用beetle简单地实现高效的http基础服务
    The IoC container
    使用Visual Studio 2010进行UI自动化测试
    PortalBasic Java Web 应用开发框架 v2.6.1(源码、示例及文档)
    发展中的 CSS3
    C#数据结构与算法揭秘十
    Sql Server Profiler跟踪查询
  • 原文地址:https://www.cnblogs.com/zhaoxuelin/p/12323785.html
Copyright © 2020-2023  润新知