zoukankan      html  css  js  c++  java
  • 模拟(1)

    今天看了下模拟的题。模拟就是给你一个目标让你(建立数学模型)通过代码去实现它。

    感觉大部分都还比较简单。

    做模拟啊,读题很重要,主要是分析题目的要求。

    http://bailian.openjudge.cn/practice/3750/

    啊,就比如说这道题(当然我没做),能体会到阅读理解的绝望吗

    正常(简单)一点的模拟:

    http://www.fjutacm.com/Problem.jsp?pid=1861

    其实就是给你条件,写出相应的代码,没了。

    神奇的幻方也算是模拟(就拿一道才做的题):

    幻方是一个很神奇的 N×N 矩阵,它的每行、每列与对角线,加起来的数字和都是相同的。我们可以通过以下方法构建一个幻方。(阶数为奇数)

    1. 第一个数字写在第一行的中间

    2. 下一个数字,都写在上一个数字的右上方:

      • 如果该数字在第一行,则下一个数字写在最后一行,列数为该数字的右一列
      • 如果该数字在最后一列,则下一个数字写在第一列,行数为该数字的上一行
      • 如果该数字在右上角,或者该数字的右上方已有数字,则下一个数字写在该数字的下方

    输入格式

    一个数字 NN(N20N≤20)。

    输出格式

    按上方法构造的 (2N1)×(2N1)(2N−1)×(2N−1) 的幻方。

    好像没什么需要动脑子的地方?代码如下:

    #include<stdio.h>
    #include<math.h>
    int n,a[40][40],x,y;
    int main(){
        scanf("%d",&n);
        int m=2*n-1;
        x=1,y=(m+1)/2;
        for(int i=1;i<=m*m;i++){
            a[x][y]=i;
            if(!a[(x-2+m)%m+1][y%m+1])
            x=(x-2+m)%m+1,y=y%m+1;
            else x=x%m+1;
        }
        for(int i=1;i<=m;i++){
            for(int j=1;j<=m;j++){
                printf("%d ",a[i][j]);
            }
            printf("
    ");
        }
        return 0;
    } 

    大概就是这样,还有其他类型的题做了再补充。

  • 相关阅读:
    vmware 连网问题
    js控制表单非法输入时提交
    简单的jsp&servlet 购物车项目
    html引入css不显示问题
    每天学点java_反射作用
    java选择特定的值2--抽象enum
    java选择特定的值
    1 小时 SQL 极速入门(一)
    460004600146002MNCMCCIMSI
    网络中存在2台DHCP服务器问题
  • 原文地址:https://www.cnblogs.com/Untergehen/p/14299217.html
Copyright © 2011-2022 走看看