摘要: 宇航员在太空中可以上下左右前后六个方向移动当他移动时面部朝向也随之改变他听从指令,改变自己的相对方向和距离最终输出他的绝对方向。输入m测试数据组数,n行走次数,每步包含方向和距离输出绝对坐标,以及面向方向phttp://poj.org/problem?id=1835①三维坐标方向需要由三个变量控制是本题的关键②然后发现x,y,z正方向分别为0,1,2,负方向分别为3,4,5正方向与负方向正好差3,所以用到p=(p+3)%6等等 1 #include 2 char action[10005]; 3 int xx,yy,zz; 4 void gogogo(int p,int x) //向某... 阅读全文
posted @ 2014-01-24 15:56 Yuer~ 阅读(615) 评论(0) 推荐(0) 编辑
摘要: 如果一个字符串不包含相邻的重复字符子串,就叫做困难的串输入n,l, 输出由前l个字符组成,字典序排第k的串。 1 #include 2 #include 3 using namespace std; 4 int cnt,n,l; 5 int A[10000]; 6 int dfs(int cur) 7 { 8 if(cnt++==n) //到第n个 ,输出串 ,返回0 9 {10 for (int i = 0; i < cur; ++i)11 printf("%c", A[i]);12 printf("\n");13 ... 阅读全文
posted @ 2014-01-23 21:17 Yuer~ 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 生成1~n的排列#include #include using namespace std ;void printf_permutation(int n,int *A, int cur){ if(n==cur) { for (int i = 0; i < n; ++i) { printf("%d",A[i]); } printf("\n"); } else for (int i = 1; i <= n; ++i) { int ok=1; for (int j = 0; j < cur; ++j) if (A[j]==i) ok=0; i 阅读全文
posted @ 2014-01-22 16:03 Yuer~ 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 如果一个正整数n至少在两个不同的进位制b1、b2下都是回文数(2 2 #include 3 #include 4 #include 5 using namespace std; 6 bool change(int n,int b) 7 { 8 char sum[100]; 9 int i=0;10 while(1)11 {12 if(n<b) 13 {sum[i++]='0'+n;sum[i]='\0'; break;}14 sum[i++]=n%b+'0';15 n/=b;16 ... 阅读全文
posted @ 2014-01-21 17:54 Yuer~ 阅读(510) 评论(0) 推荐(0) 编辑
摘要: 1 const int INF = 0x3ffffff;2 //用来存无穷3 4 q.push(x*100+y);5 int tmp=q.front();6 x=tmp/100; y=tmp%100;7 //省地方啊char str[100];memset(str,0,sizeof(str));1 while(!q.empty())q.pop(); 阅读全文
posted @ 2013-12-22 12:18 Yuer~ 阅读(134) 评论(0) 推荐(0) 编辑