原创 案例分析:迷宮問題

迷宮問題 思考一下,當你陷入迷宮時該如何找到出口?縱使各位大神有千方百計,但擺在各位眼前最直接的方法就是——走就完事了。對,走就完事了,遇見分叉口隨便走,倘若到了死衚衕則回到當初分叉口再走其他路(“回溯”),如此反覆,只要迷宮有路

原创 C++ size_t和size_type

size_t和size_type的使用是爲了讓我們的程序更具移植性。 起初我理解size_t對應類似int,而size_type對應類似於unsigned,兩者在具體使用的是應該略有區別,後面跟朋友討論時,他跟我說,沒有道理說兩者

原创 C++ 類型別名的三種方式

類型別名是C++用來使類型在某些情況下更加容易理解而定義的類型的同義詞。總共三種方法可以用來定義類型別名: 1.#define:宏定義本質替換,所以也可以定義類型的同義詞; 2.typedef:傳統方法; 3.using:C++1

原创 合唱團

問題 有 n 個學生站成一排,每個學生有一個能力值,牛牛想從這 n 個學生中按照順序選取 k 名學生,要求相鄰兩個學生的位置編號的差不超過 d,使得這k 個學生的能力值的乘積最大,你能返回最大的乘積嗎? 輸入描述: 每個輸入包含

原创 POJ1008

地址:http://poj.org/problem?id=1008 一開始不知道自己爲啥一直Runtime Error,後面發現自己眼睛瞎了,少寫一種情況… #include "pch.h" #include<string> #i

原创 POJ1005

題:http://poj.org/problem?id=1005 #include<iostream> using namespace std; #define maxn 100000 double ero[maxn]; #def

原创 POJ1003

題:http://poj.org/problem?id=1003 #include<iostream> #define maxn 1000005 double a[maxn]; using namespace std; int h

原创 POJ1007

DNAsorting #include <iostream> #define maxn 51 #define maxm 100 char a[maxm][maxn]; using namespace std; void DNAso

原创 POJ1004

include<iostream> using namespace std; int main() {  double mycount[12], a=0;  for (int i = 0; i < 12; i++)  {   ci

原创 POJ 翻轉卡片

分析:根據題目要求可知:全局正面朝上=所有的局部正面朝上。這也意味着貪心+遞歸是解題核心思路,即所有局部正面朝上構成了整體正面朝上。 #include<iostream> #include<stdio.h> using names

原创 POJ 1002

Description Sample Input 12 4873279 ITS-EASY 888-4567 3-10-10-10 888-GLOP TUT-GLOP 967-11-11 310-GINO F101010 888-1

原创 POJ 1001

Description Problems involving the computation of exact values of very large magnitude and precision are common. Fo

原创 KMP

include<iostream> using namespace std; int *buildNext(char *P) { size_t m = strlen(P), j = 0; int *N = new int[m

原创 快速排序

快速排序算法是分治策略的典型應用,主要利用軸點將待排序序列分爲兩段序列,且軸點左側序列的元素值不大於軸點元素值,軸點右側序列的元素值不小於軸點元素值,如圖一所示。然後在分別在兩側在尋找自身軸點,如此反覆遞歸,直到遞歸逐層返回有序序

原创 C++數據結構與算法第四版課後習題

3.10 13.將一個單向鏈表連接到另一個單向鏈表的末尾。 void List_addlist(List la, List lb) {  List pa, pb;  pa = la->next;  pb = lb->next;  in