题目:http://acm.hdu.edu.cn/showproblem.php?pid=1490

题意:

给出n*n 的矩阵,选出不同行不同列的n个元素,并求和;

如果所有选法所产生的和相等,则输出 homogeneous 否则输出not homogeneous 。

解析:通过自己在图纸上画,可以知道,实际上n*n的矩阵,符合题意的只有n!种选法。

数学规律:

要使n*n时homogeneous,必须该矩阵中的每一个2*2矩阵都是homogeneous。

证明:显然,我们能发现在n!种方法中,每一种放法都可以由另一种放法 通过对角线移动而得(及交换两坐标的X Y的值),所以移动前后的值必须相等。必须要该矩阵中的每一个2*2矩阵都是homogeneous。

及必须A1+A2==A3+A4

假设空处为a,b

那么如果该矩阵中的每一个2*2矩阵都是homogeneous

及有:

  • A1+b==a+A4
  • a+A2==b+A3

两式相加得:

A1+A2==A3+A4

如果

  • A1+b==a+A4
  • a+A2==b+A3

中有一个不成立,就不对

启发:

像这样的任意和全局型的问题,思考时可以从缩小规模的特殊情况开始考虑,如先令n=2,开始思考,从小到大;

code:

#include<cstdio>
#include<iostream>
using namespace std; int n;
int a[][];
int t;
int main()
{
int i,j;
while(cin>>n&&n)
{
t=;
for(i=;i<=n;++i)
for(j=;j<=n;++j)
cin>>a[i][j];
for(i=;t&&i<n;i++)
for(j=;t&&j<n;j++)
if(a[i][j]+a[i+][j+]!=a[i][j+]+a[i+][j])
{
t=;
break;
}
if(t)
cout<<"homogeneous"<<endl;
else
cout<<"not homogeneous"<<endl;
}
return ;
}

1490 ACM 数学的更多相关文章

  1. ACM数学知识体系

    在盛情收到学弟邀请给他们整理ACM数学方面的知识体系,作为学长非常认真的弄了好久,希望各学弟不辜负学长厚爱!!!非常抱歉因为电脑全盘格式化好多word.PPT都丢失,我尽量具体地给大家找到各知识点学习 ...

  2. 2190 ACM 数学概率论的乘法和加法原则

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=2190 思路:明显我们要寻找 边长为n和边长为n-1,n-2,n-3·····的规律,这样得出一个递推公式就 ...

  3. ACM数学

     1.burnside定理,polya计数法 这个专题我单独写了个小结,大家可以简单参考一下:polya 计数法,burnside定理小结 2.置换,置换的运算 置换的概念还是比较好理解的,< ...

  4. acm数学(转)

    这个东西先放在这吧.做过的以后会用#号标示出来 1.burnside定理,polya计数法    这个大家可以看brudildi的<组合数学>,那本书的这一章写的很详细也很容易理解.最好能 ...

  5. 2046 ACM 数学

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=2046 思维:与之前有两道题目相似,n可以由n-1和n-2递推过来.f(n)=f(n-1)*1+f(n-2) ...

  6. 2160 母猪的故事 ACM 数学规律

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=2160 中文题目,很简单,找规律就好. 自己画树状图找规律,开始想复杂了,找的规律:Fn=2*F(n-1)- ...

  7. acm数学(待续)

    意图写出http://www.cnblogs.com/kuangbin/archive/2012/08/28/2661066.html这个东西的完善版. 1.置换,置换的运算 poj 2369 Per ...

  8. ACM数学问题分类(汇总帖)

    数论 组合数学 计算几何 博弈论 线性代数 高等数学 线性规划 概率统计

  9. ACM 数学

    欧几里得辗转相除法求最大公约数 int gcd(int a,int b) { ) return a; else return gcd(b,a%b); } 求组合数 int C(int n ,int m ...

随机推荐

  1. excel生成数据

    Sub function1()Dim i As LongFor i = 1 To 1000000Cells(i, 1) = "A" & iCells(i, 2) = &qu ...

  2. python基础知识之zip

    names =['zhangning','lsl','lyq','xww']age = [1,2,3,4]for a,b in zip(names,age): print(a,b)S = 'abcde ...

  3. 连接Oracle时报错ORA-12541: TNS: 无监听程序

    从开始菜单中打开“Oracle Net Configuration Assistance”,选择“监听程序配置”,如下图所示,点击下一步.   选择“重新配置”,如下图所示,点击下一步.   选择监听 ...

  4. WPF:如何高速更新Model中的属性

    原文:[WPF/MVVM] How to deal with fast changing properties In this article, I will describe a problem w ...

  5. 利用redis统计信息对CPU使用率进行收集

    http://dy.163.com/v2/article/detail/DQT2ROO10511RVML.html

  6. 学习笔记: 反射应用、原理,完成扩展,emit动态代码

    using Ruanmou.DB.Interface; using Ruanmou.DB.MySql; using Ruanmou.DB.SqlServer; using Ruanmou.Model; ...

  7. 开始写博客,学习Linq

    除了为处理数据提供全新的方法之外,LINQ还代表了一种朝着声明式以及函数式编程发展的转变. 当人们问我为什么要学习LINQ时,我会告诉他们LINQ可以处理XML.关系型数据以及内存中的集合,更会提到L ...

  8. [转] Lodash

    与underscore 类似 , 是1个js库,内部封装了诸多对字符串.数组.对象等常见数据类型的处理函数. 模块组成 Lodash 提供的辅助函数主要分为以下几类,函数列表和用法实例请查看 Loda ...

  9. javascript 正则表达式(十)

    一.什么是正则 在常见的字符串检索和替换中,我们需要提供一种模式表示检索或替换的规则.正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串. abc [a-z]{4} \d\d\d 二. ...

  10. 安装 jpegtran-cffi 使用 from jpegtran import JPEGImage

    Requirements CPython >=2.6 or >=3.3 or PyPy cffi >= 1.0 libturbojpeg with headers Install 1 ...