解释一下样例,因为我觉得这个题意表述的不是很清楚。以第二组样例为例。

牌序为:3 1 4 5 2

第一轮:把 3 放到末尾:1 4 5 2 3,最顶上的牌是1,把1拿走。剩余 4 5 2 3

第二轮:1.把4放到末尾:5 2 3 4

2.把5放到末尾:2 3 4 5

最顶上的牌是2,把 2 拿走,剩余:3 4 5

第三轮:1.把3放到末尾:4 5 3

2.把4放到末尾:5 3 4

3.把5放到末尾:3 4 5

最顶上的牌是3,把 3 拿走,剩余:4 5

第四轮:1.把4放到末尾:5 4

2.把5放到末尾:4 5

3.把4放到末尾:5 4

4.把5放到末尾:4 5

最顶山的牌是4,把 4 拿走,剩余5

第五轮:5次把5放到末尾的操作,把 5 拿走。操作结束。

方法:仍然以第二组样例为例,

一开始是5个空位:-----

1.从第1个位置开始,数 1 个空格: -1---

2.从放1的位置开始,数 2 个空格:-1--2

3.从放2的位置开始,数 3 个空格:31--2 (若后面没有位置,再从第一个位置开始)

4.从放3的位置开始,数 4 个空格:314-2

5.从放5的位置开始,数 5 个空格:31452

即每次超过最后一个位置时,再返回头一个位置。在每次要放的牌 i 之前数 i 个空格就行。

 #include <cstdio>
#include <cstring>
#include <cstdlib> const int MAXN = ; int n;
int ans[MAXN]; int main()
{
int T;
scanf( "%d", &T );
while ( T-- )
{
scanf( "%d", &n );
int cur = ;
int pos = ;
memset( ans, -, sizeof(ans) );
while ( cur <= n )
{
int i, cnt;
int left = n - ( cur - ); //剩余空格的个数
left = cur % left + ; //一定要取模!!!不然会超时
for ( i = pos, cnt = ; ; ++i )
{
if ( i > n ) i = ;
if ( ans[i] == - ) ++cnt;
if ( cnt == left ) break;
}
ans[i] = cur;
pos = i;
++cur;
} for ( int i = ; i <= n; ++i )
{
if ( i != ) putchar(' ');
printf( "%d", ans[i] );
}
puts("");
}
return ;
}

SPOJ 1108 Card Trick 暴力模拟的更多相关文章

  1. POJ 2200 A Card Trick(模拟)

    题目链接 题意 : 一共52张牌(A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K)花色分别是C,D,H,S ...给助理5张牌,然后助理需要重新排一下次序,把第一张牌给观 ...

  2. UESTC 890 Card Trick(DP 纸牌魔术)

    题意  给你一些牌  所有正面朝下放桌子上   你选一个起点    翻开那张牌   牌上的数字是几就向前走几步   J,Q,K 都是向前走10步  A向前走11步   知道向前走相应的步数后超过了终点 ...

  3. bnuoj 20832 Calculating Yuan Fen(暴力模拟)

    http://www.bnuoj.com/bnuoj/problem_show.php?pid=20832 [题意]: 给你一串字符串,求一个ST(0<ST<=10000),对字符串中字符 ...

  4. POJ 1013 小水题 暴力模拟

    Counterfeit Dollar Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 35774   Accepted: 11 ...

  5. hdu_1006 Tick and Tick(暴力模拟)

    hdu1006 标签(空格分隔): 暴力枚举 好久没有打题了,退队了有好几个月了,从心底不依赖那个人了,原来以为的爱情戏原来都只是我的独角戏.之前的我有时候好希望有个人出现,告诉自己去哪里,做什么,哪 ...

  6. ny714 Card Trick

    Card Trick 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 The magician shuffles a small pack of cards, holds ...

  7. hihoCoder #1871 : Heshen's Account Book-字符串暴力模拟 自闭(getline()函数) (ACM-ICPC Asia Beijing Regional Contest 2018 Reproduction B) 2018 ICPC 北京区域赛现场赛B

    P2 : Heshen's Account Book Time Limit:1000ms Case Time Limit:1000ms Memory Limit:512MB Description H ...

  8. 美团2018年CodeM大赛-资格赛 分数 暴力模拟

    链接:https://www.nowcoder.com/acm/contest/138/D来源:牛客网 小胖参加了人生中最重要的比赛——MedoC资格赛.MedoC的资格赛由m轮构成,使用常见的“加权 ...

  9. 2018/7/31-zznu-oj-问题 B: N! 普拉斯 -【求大数的阶乘-ll存不下-然后取尾零的个数输出-暴力模拟】

    问题 B: N! 普拉斯 时间限制: 1 Sec  内存限制: 128 MB提交: 114  解决: 35[提交] [状态] [讨论版] [命题人:admin] 题目描述 在处理阶乘时也需要借助计算器 ...

随机推荐

  1. SQL左连接、右连接和内连接的简单示例

    left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录: right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录: inner join(等值连接 ...

  2. Oracle 主键

    给student 表产生 自增的序列主键 increment ; ----IBATIS简单入门教程http://www.cnblogs.com/ycxyyzw/archive/2012/10/13/2 ...

  3. useradd命令详解

    功能说明:建立用户帐号.语 法:useradd [-mMnr][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g ...

  4. 在Windows下忘记MySQL最高用户权限密码的解决方案

    1.打开MySQL配置文件 my.ini中,添加上skip-grant-tables,可以添加到文件的末尾或者是这添加到[mysqld]的下面(直接添加在my.ini文件最后亲测可以,但是在[mysq ...

  5. 设置google搜索打开链接时在新标签页显示

    百度的搜索结果,打开链接都会在新的页面打开,但是google却直接在本页面打开,有时候我们打开的不一定是自己想要结果,又习惯性的把当前页面给关掉了......这只是习惯问题,可能国人有这个习惯.怎么设 ...

  6. jquery ajax对特殊字符进行转义防止js注入使用示例

    在使用ajax进行留言的时候,出现了一个问题.因为留言内容写完之后,通过ajax提交内容,同时使用js把留言的内容添加到页面上来.浏览留言的时候也是通过ajax请求,然后再显示的.这样,如果有人在留言 ...

  7. WEB前端常用的测试工具

    一.QUnit 前端测试工具 QUnit是一个强大的JavaScript单元测试框架,该框架是由jQuery团队的成员所开发,并且是jQuery的官方测试套件.Qunit是Jquery的单元测试框架, ...

  8. (一)、http原理

    谣言粉碎机前些日子发布的<用公共WiFi上网会危害银行账户安全吗?>,文中介绍了在使用HTTPS进行网络加密传输的一些情况,从回复来看,争议还是有的.随着网络越来越普及,应用越来越广泛,一 ...

  9. winform Chart控件 获取鼠标处坐标值方法

    Chart控件本身功能强大,应用广泛,因此其属性.方法也很多.此处介绍在很多应用中需要查看鼠标位置处坐标值的一些方法 1,调用Chart事件  GetToolTip 利用ToolTipEventArg ...

  10. 【转】前端图片该保存为什么格式?png or jpg?

    疑虑: 图片存储为web格式,该用什么格式保存呢?png?jpg?压缩比例该为多大?css spript的优劣?有时候我们可能会因为一张格式不正确的图片而导致设计品质的下降以及页面性能的降低.了解图片 ...