這道題,主要學習了
1.怎麼將**寫的好看(簡潔),之前 都是冗長冗長的,能不動腦子就不動腦子。switch,?:
2.freopen(「d:\input.txt」,」r」,stdin)的運用,提交的時候一定要加\
3.fgets(陣列,maxn,stdin)
輸入到陣列中,長度為不超過maxn-1,然後在末尾加上\0,所以不會超空間。fgets是讀取完整的一行,讀到回車符截止,然後『\n』也是這個陣列中最後乙個有效字元
4.這道題很容易卡輸出pe,因為題目中說了,每兩個結果之間要有有個空行,所以最後乙個是沒有空行的。
#include
#include
#include
using
namespace
std;
#define maxn 100005
char s[10][10];
char op[100005];
int f[10]=;
int x1[10]=;
int main()
}temp++;
if(temp!=1)
printf("\n");
int stop=0,flag=0;
char c;
while((c=getchar())!=eof&&c!='0')
case
'b':
case
'l' :
case
'r':
default: continue;
}int x11=x,y1=y;
x+=f[stop],y+=x1[stop];
s[x11][y1]=s[x][y];
if(x<0||y<0||x>=5||y>=5)
flag=1;
}printf("puzzle #%d:\n",temp);
if(flag==1)
printf("this puzzle has no final configuration.\n");
else
}getchar();//因為『0』後面還有乙個換行符
}return
0;}
紫書第三章課後習題 UVa227
題目 uva227 題解 題意很簡單,就是找出空著的那個格仔,對其進行相應的操作。思路也都很清晰,就是單純的模擬就可以,而操作只有四種,也都很簡單,就是簡單的交換就行,不過任何一次交換之後都要記得記錄空格的位置。不過在實現的過程中,還是碰到了不少問題,花了不少時間除錯 找bug。根源還是自己對字元的...
紫書 習題 9 8 uva1632
題意 有n個寶藏,每個都在乙個位置p i 在規定的時間t i 就會消失。阿里巴巴要在寶藏消失前收集齊所有寶藏,問 有方法嗎?有的話最少多少秒?思路 開始想的是用狀態轉移方程來乙個個判斷,不好寫。看了題解知道在一段區間 l,r 要使時間最短必須從端點出來,然後果斷寫了乙個記憶化搜尋,tle了。再看題解...
紫書 習題 9 8 uva 10163
解題感想 好久沒刷題了,自己連揹包dp都差不多忘了。題目看著很複雜,可以將問題分解來看,和高中數學題的感覺一樣 1.求任意一組組合的最小的保護值 的最大值 2.求在改最大組合的情況下的,求最小的工資和,和某圖論一樣的思路。解題思路 第乙個揹包 任意組合 抽象成模板 在n個應聘者中選x人使得看守m個倉...