紫書章三習題5 UVA 227 Puzzle

2021-07-27 14:16:07 字數 1119 閱讀 2158

這道題,主要學習了

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個倉...