ickchen2

PKU3705

/*求最小的块移动求逆序*/
#include
<stdio.h> #include<iostream> #include<string> #include<vector> #include<map> #include<queue> #include<algorithm> #include<math.h> #define M 1000 using namespace std; void ans(int n) { int pos=1; while(pos!=n) { printf("%d %d %d\n",(n-pos)/2+pos,2,pos/2); pos+=2; //cout<<pos<<endl; } printf("%d %d %d\n",1,(n-1)/2,(n-1)/2); } int main() { int n; scanf("%d",&n); if(n==1)printf("0\n"); else if(n==2) { printf("1\n"); printf("%d %d %d\n",1,1,1); } else if(n&1) { printf("%d\n",(int)ceil((n+1)/2.0)); ans(n); } else { printf("%d\n",(int)ceil((n+1)/2.0)); ans(n-1); printf("%d %d %d\n",n,1,0); } }

posted on 2008-10-06 12:53 神之子 阅读(120) 评论(0)  编辑 收藏 引用 所属分类: PKU月赛


只有注册用户登录后才能发表评论。
相关文章:
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理


<2024年12月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

导航

统计

常用链接

留言簿(1)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜