poj——1833(组合数学之排列数)
来源:互联网 发布:seo数据分析 编辑:程序博客网 时间:2024/06/05 02:57
题目地址:http://poj.org/problem?id=1833
在poj上G++没过,C++过了,下面摘的网上的解释。
G++是一个GNU编译器,而C++是微软VC++的编译器。这两种编译器对不同的地方有优化,因此速度谁快谁慢不一定吧。有些题目使用C++提交相同的代码运行时间只有G++的八分之一,很是让人费解(可能是POJ是windows为基础的原因吧)。G++中对栈内存有优化,允许定义这样的数组: int a[n]; (n为变量)。不过C++中有些可以使用的函数在G++中是没有的,这点要注意啊。所以很多C++编译通过的代码到G++上就CE了,对于G++也是如此。而且貌似两种编译器的编译的程序在浮点数精度控制上有差异。一些计算几何题目使用G++就WA,而使用C++就可AC。虽然我写代码一直用G++,但是这个的具体原因也搞不清出。#include <iostream>#include <cmath>#include <string>#include <cstring>#include <cstdlib>#include <ctime>#include <algorithm>#include <cstdio>using namespace std;typedef long long ll;#define INF 0xfffffff#define MAX(a,b) a>b?a:b#define MIN(a,b) a>b?b:a#define N 1050int a[N];int main(){int i,j,k,t;int m,n; cin>>t;bool x;while(t--) { scanf("%d%d",&n,&k); for(i=0;i<n;i++) scanf("%d",&a[i]); while(k--) { x = next_permutation(a,a+n); if(!x) sort(a,a+n); } printf("%d",a[0]); for(i=1;i<n;i++) printf(" %d",a[i]); printf("\n"); }return 0;}
- poj——1833(组合数学之排列数)
- 组合数学——排列数生成算法详解(zz)
- 【算法】组合数学——排列数生成算法详解(一)
- 组合数学——排列数生成算法详解(一)
- POJ——2249(组合数学)
- 读书笔记之组合数学——卡特兰数
- poj 3088 组合数学 斯特林数+组合数
- 组合数学学习之排列、组合、圆周排列实现
- POJ 3187 全排列+杨辉三角(组合数)
- 组合数学学习之错位排列(持续更新)
- (组合数学3.3.2.2)UVA 10497 - Sweet Child Makes Trouble(特殊的排列问题——错排方案数)
- NOJ1096组合数——数学
- 组合数学——卡特兰数
- 组合数学——POJ 3088
- [bzoj4517][Sdoi2016]排列计数(组合数学)
- 排列&组合数学
- hdoj 2049 不容易系列之(4)——考新郎 【全错位排列】【组合数】
- 求组合数(数学)
- ios UDID 替代方案
- 设计模式六大原则(3):依赖倒置原则
- jdbc连接oracle报错_hanCSDN_20130821
- 页面中文传值,出现乱码
- android FragmentTabhost+ViewPager实现可滑动的标签页
- poj——1833(组合数学之排列数)
- 设计模式六大原则(4):接口隔离原则
- Linux下安装Apache服务器
- 多线程2:原子操作 Interlocked系列函数
- Hadoop: the definitive guide 第三版 拾遗 第十二章 之Hive架构
- 六级520,这么吉祥的数字纪念一下
- hdu 4291 A Short problem 矩阵+循环
- 设计模式六大原则(5):迪米特法则
- 原生JavaScript技巧大收集