toby's profileToby's SpacePhotosBlogListsMore ![]() | Help |
|
Toby's SpaceSkywalker August 05 快~可以开车了!刚回家两天,还没歇停休息下,就开始马不停蹄的上车训练..........车开得越来越快,加速和飞车的感觉真的比较爽——后果是教练在旁边不停碎烦:慢一点慢一点,控制速度!。。。被教练骂了.....9号考车,还是夜考,黑不咙咚的估计可以混过去.................
考完车,拿到驾照,嘿嘿,那时候就开车到处玩!!! kevin貌似对我新手开车出去心惊肉跳的........嘿嘿~~~
题目4 Hash表问题(有的书说的是 散列表,好像貌似可能就是同一个东西);里面就改了个find的函数,其他就是代码重用,偷懒抄来的............
1. 问题描述:假设有一个100*100的稀疏矩阵,其中1%的元素为非零元素,现要求对其非零元素进行散列存储,使之能够按元素的行、列值存取元素(即元素的行、列值联合为元素的关键字),试采用除留余数法构造散列函数和线性探查法处理冲突,分别设计出建立散列表和查找散列表的算法。 2. 实现设计: ①由题意可知,整个稀疏矩阵中非零元素的个数为100个。为了散列存储这100个非零元素,需要使用一个称为散列表的一维数组,该数组中元素的类型为: Struct DataType { int row; //存储非零元素行下标 int col; //存储非零元素列下标 float val; //存储非零元素值 }; ②假定用H[m]表示这个散列表,其中m为散列表的长度,若取装载因子为0.8左右,则令 M=127 为宜(127为质数); ③按照题目要求,需根据稀疏矩阵非零元素的行下标和列下标存取散列表中的元素,所以每个元素的行下标和列下标共同组成元素的关键字。假定用x表示一个非零元素,按除留余数法构造散列函数,并考虑尽量让得到的散列地址均匀分布,可以采用如下的散列函数: Hash(x)=(13*x.row+17*x.col) % m. 3. 附录:程序清单如下:
#include <iostream.h>
typedef char ElemType; #include "HashTable.h" void main(void)
{ HashTable A(127); DataType *a=new DataType[]; a[0].row=2;a[0].col=22;a[0].value='H'; a[1].row=34;a[1].col=21;a[1].value='E'; a[2].row=56;a[2].col=34;a[2].value='R'; a[3].row=64;a[3].col=11;a[3].value='T'; a[4].row=98;a[4].col=78;a[4].value='G'; a[5].row=76;a[5].col=97;a[5].value='D'; a[6].row=67;a[6].col=54;a[6].value='E'; a[7].row= 4;a[7].col=87;a[7].value='A'; a[8].row=2;a[8].col =22;a[8].value='e'; DataType item;
int n=9;
for(int i=0;i<n;i++)A.Insert(a[i]); for(i=0;i<n;i++)
{ int j=A.Find(a[i]); if(j>0) { item=A.GetValue(j); cout<<"j="<<j<<" "<<"ht[]="<<item.value<<endl; } } DataType x;
cout<<"请输入数据元素的row=";cin>>x.row; cout<<"请输入数据元素的col=";cin>>x.col; cout<<"请输入数据元素的value=";cin>>x.value; int k=A.IsIn(x);
if(k==1)cout<<x.value<<"在哈希表中!"<<endl; else cout<<x.value<<"不在哈希表中!"<<endl; } 执行测试程序,测试结果如下: j=19 ht[]=H j=37 ht[]=E j=36 ht[]=R j=3 ht[]=T j=60 ht[]=G j=97 ht[]=D j=11 ht[]=E j=7 ht[]=A j=20 ht[]=e 请输入数据元素的row=4 请输入数据元素的col=87 请输入数据元素的value=A A在哈希表中! j=19 ht[]=H j=37 ht[]=E j=36 ht[]=R j=3 ht[]=T j=60 ht[]=G j=97 ht[]=D j=11 ht[]=E j=7 ht[]=A j=20 ht[]=e 请输入数据元素的row=4 请输入数据元素的col=65 请输入数据元素的value=J J不在哈希表中! 哈希表头文件"HashTable.h"程序代码:
enum KindOfItem {Empty, Active, Deleted}; struct DataType { int row; //行号 int col; //列号 ElemType value; //元素值 }; struct HashItem
{ DataType data; KindOfItem info; HashItem(KindOfItem i = Empty): info(i){}
HashItem(const DataType &D, KindOfItem i = Empty): data(D), info(i){} int operator ==(HashItem &a) {return data.value == a.data.value;} int operator !=(HashItem &a) {return data.value != a.data.value;} }; class HashTable
{ private: HashItem *ht; //哈希表数组 int TableSize; //哈希表的长度(即m) int currentSize; //当前的表项个数 public: HashTable(int m); ~HashTable(void)
{delete []ht;} int Find(const DataType &x)const;
int Insert(const DataType &x);
int Delete(const DataType &x); int IsIn(const DataType &x) {int i = Find(x); return i >= 0 ? 1: 0;} DataType GetValue(int i)const {return ht[i].data;} }; //哈希表类实现 HashTable::HashTable(int m) { TableSize = m; //置哈希表长度 ht = new HashItem[TableSize]; //申请动态数组空间 currentSize = 0; //置初始的当前表项个数 } int HashTable::Find(const DataType &x)const
{ int i=(13*x.row+17*x.col)%TableSize; int j = i; while(ht[j].info == Active && ht[j].data.value != x.value ) //说明存在冲突 { j = (j + 1) % TableSize; //用哈希冲突方法继续查找 if(j == i) return -TableSize;//说明已遍历整个哈希表未找到且表已满 } if(ht[j].info == Active) return j; //找到,返回正值 else return -j; //未找到,返回负值 }
int HashTable::Insert(const DataType &x) { int i = Find(x); //调用Find(x) if(i > 0) return 0; //数据元素x已经存在
else if(i != -TableSize) //数据元素x不存在且哈希表未满 { ht[-i].data = x; //数据元素赋值 ht[-i].info = Active; //置活动标记 currentSize++; //当前表项个数加1 return 1; //返回插入成功状态 } else return 0; //返回插入失败状态 } int HashTable::Delete(const DataType &x) //删除
{ int i = Find(x); //调用Find(x) if(i >= 0) { ht[i].info = Deleted; //置删除标记 currentSize--; //当前表项个数减1 return 1; //返回删除成功状态 } else return 0; //返回删除失败状态 } July 22 回来了~~~~回来了回来了回来了..................
热死了热死了热死了!!!!!!!!!!!!!!!!
作了一天一夜的火车(硬座);全身都是煤灰的回到家............弄好电脑上网,洗个澡,去百大买双鞋~~~~
半夜小猪说出去夜宵,真是力气没了..............
题目:选址问题 图的应用
1. 问题描述:给定n个小区之间的交通图。若小区i与小区j之间有路可通,则将顶点i与顶点j之间用边连接,边上的权值 表示这条道路的长度。现在打算在这n个小区中选定一个小区建一所医院。试问这家医院应建在哪个小区,才能使距离医院最远的小区到医院的路程最短?请设计一个算法求解上述问题。 2. 实现设计:将n个小区的交通图视为一张带权无向图,并利用邻接矩阵来存放带权无向图。算法的思想是: ①应用Dijkstra算法(根据Dijkstra算法的思想,自己设计Dijkstra算法)计算每对顶点之间的最短路径; ②找出从每一个顶点到其它各顶点的最短路径中最长路径; ③在这n条最长路径中找出最短的一条,则它的出发点即为所求。 3.附录:测试小区交通图如下图: (试着贴了一下,贴不上去,大家自个儿yy吧) 算法及测试程序如下:
#include <iostream.h>
#include <stdlib.h> typedef char DataType; const int MaxStackSize=100; #include "SeqStack.h" typedef char VerT;
typedef char DataType; const int MaxVertices = 100; const int MaxWeight = 9999; #include "AdjMWGraph.h" //邻接矩阵
#include "Dijkstra.h" //最短路径的算法(运筹学里也有用) #include "CreatAdjMWGraph.h" //构造图 void PRT(AdjMWGraph &F,int &H,int *path,int *distance,SeqStack &stack) //利用堆栈实现路径的顺序输出
{ if (path[H]!=-1) { stack.Push(F.GetValue(path[H])); PRT(F,path[H],path,distance,stack); } } void main(void)
{ AdjMWGraph g; char a[] = {'A','B','C','D'}; RowColWeight rcw[] ={{0,1,1},{1,0,1},{0,2,13},{2,0,13},{0,3,4},{3,0,4},{1,2,9},{2,1,9},{1,3,2},{3,1,2},{2,3,8},{3,2,8}}; int n = 4, e = 12; CreatGraph(g, a, n, rcw, e);
int *distance=new int[n];
int *path=new int[n]; n=4; int *temp=new int[n];
for(int i=0;i<n;i++) { Dijkstra(g,i,distance,path);temp[i]=0; for(int j=i+1;j<n;j++){if(distance[j]> temp[i])temp[i]=distance[j];} for(int r=i-1;r>-1;r--){if(distance[r]>temp[i])temp[i]=distance[r];} } int TEM=1000,Q; for(int k=0;k<n;k++) { if(temp[k]<TEM){Q=k;TEM=temp[k];} } cout<<"所求最优点为: "<<g.GetValue(Q)<<endl;
Dijkstra(g,Q,distance,path); SeqStack ADJ; int x; for(x=0;x<Q;x++)
{ ADJ.Push(g.GetValue(x)); PRT(g,x,path,distance,ADJ); while(ADJ.NotEmpty())cout<<ADJ.Pop()<<"--->"; cout<<"距离:"<<distance[x]<<endl; } for(x=Q+1;x<n;x++) { ADJ.Push(g.GetValue(x)); PRT(g,x,path,distance,ADJ); while(ADJ.NotEmpty())cout<<ADJ.Pop()<<"--->"; cout<<"距离:"<<distance[x]<<endl; } } 执行测试程序,测试结果如下: 所求最优点为: D D--->B--->A--->距离:3 D--->B--->距离:2 D--->C--->距离:8 July 10 又考完一门下午又考完一门,反复看书看了一周,发现可以从一点不会到差不多都会......然后再看到想吐........还有三门轻松得多的..........现在学习,不太重要的课,平时偶尔去上上,考试前一周开始仔细研究书,看到吐了,考试还能考个马马虎虎......艾,这种学习态度,自己都惭愧....
昨天和老妈打电话,算算马上就要回家了,然后又是学车,到八月十二号路考;然后估计又玩不了不了几天,就要返校了........还没开始放假呢就开始发愁了~~~~~艾!
题目:背包问题------这个问题原来我还以为要把具体的解给求出来,结果发现自己没这个能力,只能满足老师的要求完成作业了......求解是否存在~~ 1. 问题描述:设有一个背包可以放入的物品重量最重为s,现有n件物品,它们的重量分别为w[0]、 w[1]、w[2]、…、w[n-1]。问能否从这n件物品中选择若干件放入此背包中,使得放入的重量之和正好为s.如果存在一种符合上述要求的选择,则称此背包问题有解(或称其解为真);否则称此背包问题无解(或称其解为假)。 #include<iostream.h>
#include<stdlib.h> typedef int DataType;
class bag
{ private: int s; int n; int *w; public: bag(int N,int S,int W[]){s=S;n=N;w=W;} ~bag(){} int KNAP(int s,int n)
{ if(s==0)return 1;if (s<0||s>0&&n<1)return 0; if(KNAP(s,n-1)){;return 1;} return KNAP(s-w[n-1],n-1); } }; void main()
{ int n; cout<<"请输入物件个数:";cin>>n; int *m=new int[n];
cout<<"请输入各个物件重量:"; for(int i=0;i<n;i++)cin>>m[i]; int w; cout<<"请输入背包总容量:";cin>>w; bag A(w,n,m); int x=A.KNAP(w,n);
if(x==1)cout<<"存在正好填满背包的组合!"<<endl; if(x==0)cout<<"不存在正好填满背包的组合!"<<endl; } 执行测试程序,测试结果如下:
请输入物件个数:5 请输入各个物件重量:45 44 43 42 41 请输入背包总容量:171 存在正好填满背包的组合! 请输入物件个数:5 请输入各个物件重量:45 44 43 42 41 请输入背包总容量:161 不存在正好填满背包的组合! July 08 还要考试!~~~~都到放假的日子了,据说杭州已经回去了不少人!................ 荷包小猪,还有kevin都准备给我接风呢! 可惜还有好几门考试,要道7月20才会到杭州..................后天就是门 运筹学,混得不容易啊
前几天终于把课程设计给搞定了............哗哗的打印了近50页,摸着还烫手的纸,hot of press,心理超级有成就感。。。。。虽然大部分模板代码都是抄来的(代码重用),自己就设计了几个专门针对问题的函数和测试程序,但怎么说也为这些问题掉了不少头发,夜不能寐,辗转反侧了几个晚上............
看到bob的空间了,联个连接,发现上面的八卦信息不少,以后又有新地方去关心老同学的近况了~~~~~~~~
上次说要装B,贴代码出来,貌似一个半桶水的技术空间................
下面是一道道题目的代码,哪个人家的模版我就不贴了,大家只要看清大概接口,套到这个函数里去看就是了。更新次贴一个问题...........其实这都是超级简单的小函数,太难得老头子也不好意思拿出来为难向我这样的什么都不精通的composer了
题目:求解约瑟夫(Josephus)问题
1. 问题描述:有一个旅行社要从n个旅客中选出一名旅客,为他提供免费的环球旅行服务。旅行社安排这些旅客围成一个圆圈,并从帽子中取出一张纸条,用纸条上面写的正整数m(m<n)作为报数值。游戏进行时,从第一个人开始按顺时针方向自1开始顺序报数,当报到m时停止报数,报m的人被淘汰出列。然后从他顺时针方向上的下一个人开始从1重新报数,当报到m时停止报数,报m的人被淘汰出列。如此下去,直到圆圈中剩下一个人为止。这个最后的幸存者就是游戏的胜利者,他将得到免费旅行的奖励。请编写程序,让计算机模拟此问题。 #include <iostream.h>
#include <stdlib.h> #include "LinList.h" //循环单链表 void main(void)
{ LinList<int> myList; int s[] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14}, n = 14; int temp=0; for(int i = 0; i < n; i++)
myList.Insert(s[i], i); int x; cout<<"请输入一个随机数:";cin>>x;
josph(myList,x);
} 执行测试程序,测试结果如下: 请输入一个随机数:6 幸运者是第7号参与者 算法思想:josph()函数检验m值,取A.size的余赋给m;执行A.Delete(m-1),然后建立一个结点指针,指向删除结点的下一个结点;此指针执行指向下一结点的循环m次,当遇到头指针时跳过头指针,删除第m个指针,继续循环,直到剩下最后一个元素时,跳出循环,返回结点的数据。
template<class T> void josph(LinList<T> &A,int m) { if(m>=A.size)m=m%A.size+1; ListNode<T> *p; A.Delete(m-1); p=A.Index(m-1); while(A.size>1) { ListNode<T> *s; for(int i=0;i<m-1;i++) { if(p->next==A.head)p=p->next; } s=p->next ;p->next =p->next ->next ; delete s;A.size --; } if(A.head ->next ->next =A.head) cout<<"幸运者是第"<<A.head->next->data<<"号参与者"<<endl; } 另附加一种算法及代码(未测试):
思想:JOSPH()函数先检验m值,取A.size的余赋给m;执行A.Delete(m-1),然后将头指针指向删除结点的下一个结点,递归调用JOSPH();判断是否只剩下最后一个结点为递归出口,返回结点数据。 template <class T>
void JOSPH(LinList<T> &A,int m) { ListNode<T> *p; if(m>=A.size)m=m%A.size+1;
A.Delete(m); p=A.Index(A.size-1); p->next=A.head->next;
A.head->next=A.Index(m-1)->next; A.Index(m-1)->next=A.head; if(A.head->next->next==A.head){cout<<"lucker"<<A.head->next->data<<endl;return;} JOSPH(A,m); } ps: 这个问题其实有点儿奇怪,我就按要求解决问题,别的不多考虑(老板要怎么做就怎么做呗):这哪里是随机的,明明随机数的下一个就一定是选出来的人(自己画个圈去试试看)~~~~~这中选人法一点儿也不随机,艾。。。 June 29 一步之遥做了两天的数据结构课程设计(就是对一些特定问题写程序代码):解决问题的思想是明确的,语法错误是容易改正的,只是内在的逻辑错误到时让我想撞墙——编译完,程序运行时后内存不时地出错,系统不时地提示错误.....................怎一个郁闷了得
下午又修改了一个程序,只是多添加了个 “—>next” 终于测试成功。一步之遥阿!
大部分的程序到是主体都测试成功了,老头子要写份报告,代码还要修饰一番.....................
说实话自己写的丑是丑了点儿,也不容易让别人懂(不像标准程序似的那么规范),但是能用就行啦!
怎么说也要有点儿自己的风格。
过几天贴代码上来,装B..................hoho
June 20 EVE前几天 乱七八糟考完六级,混混沌沌的到了期末——火车票订了,考试也临近了,要开始啃书了:倒是发现不少有趣的东西:学了数据结构中的一些算法,加上运筹学的理论,还有离散数学的图论,这三个反复交错起来,原来不知道有什么用的树啊图啊看起来还是有点花头的。。。。。。。。 开始接触一个内容超未来的游戏:EVE online ..................不要鄙视我浪费青春,我只不过花了点时间儿在 研究例如 太空地质学、空间航行工程学、引力子物理学、跳跃通道发生学、信号聚焦研究、诱导力场理论研究、频率调制理论、跳跃引擎操作理论 等等。各位有对science fiction 比较感兴趣的也可以去试试!
世界杯开始一个多星期了,偶尔的看看...........没有什么好嗟叹的——自己也不是很热心这个! 无奈的是躺在床上听着楼里大呼小叫................ ps: 小朱,荷包说你下月回来!在德国带点纪念品来~~~~~~我会笑纳的! June 01 June 1st,2006又荒淫堕落了半个月!............... 学老残写游记早写完了,一直懒惰的没有上传.........照片也懒得整理,但总要有个了断。 终偿之日,剪了个光头,反省下自己..........开始更新space! 北京浮生之———我到北京天安门,天安门上太阳升!在北京闲逛了几天,终于到了传说中的中国人人都知道的天安门广场——不出意外,人山人海。从地铁口出来(好像是国家安全局),左顾右盼,哈哈哈——终于看到了天安门城楼,就和课本上的一样。抑制不住兴奋的心情,步伐也轻快起来。四周有国家博物馆(看了一眼蛮吸引人)、人民大会堂(没敢靠近)、毛泽东纪念堂(排队伍的人起码超过两个街区,光看这不断加长的人流就让人沮丧),只能把在外面的任民英雄纪念碑和孙文像(好像和城楼上的毛泽东像一样大)给留念了下;可惜天空灰蒙蒙的零星得下着小雨,光线不好只能勉强的拍几张了(人家不是专业摄影的,没技术没器材,大家将就一下咯)........ 绕着前面的广场转了几圈,发现不论是卫兵还是巡查的警察个个都帅的不得了,五官端正,身形挺拔,艾,中国地大物博,嘿嘿,美女帅哥自然也多得了不得!看了下广场上飘扬着的旗帜,就不在帅哥面前自惭形秽了,咱二话不说,去天安门咯! 匆忙游遍西边的中山公园,东边的太庙,登上了城楼,YY了一下1949年的开国大典,艾,又做了下帝王梦~~~~东南西北环顾了下,从近到远连绵不断的红墙黄瓦(从这儿看不到这么远,广场倒是可以看得清清楚楚,在午门的城楼上倒是能看到),往故宫里直走,忽略左右边夸张的“太监宫女展览,清宫秘史/皇妃展览”——艾,故宫太大,东西太多,说不清了,大家还是自己去,这儿附上照片若干~~~~! Ps:一整天早饭没吃,中饭在里头也没敢吃,最后饿得受不了了,烤肠+可乐解决了下。。。。。。可怜啊!!!
May 13 北京浮生之———恭王府&雍和宫恭亲王奕訢的府邸在柳阴街,前身是和珅的宅子......一路走过去的时候,还看到郭沫若故居:不过据说是王府的马厩;缴了门票钱,就随着人流,亦步亦趋的进去了。 此次参观的是王府的后花园(前面的都没开放),除了后门是个西洋门,花园假山、楼台水榭还是中国传统的建筑风格,布局也蛮精致的,作为后花园,的确和故宫的御花园有得一拼(主要是御花园太小,要是算上颐和园,那就比不来了)。进门是“一柱擎天”(一根石柱,好像有什么字在上面,真正叫什么忘了);然后有个样子像蝙蝠的水池+两个榆钱树~~~~~~艾,都是那时候谐音之类的图个吉利。里面有个爱新觉罗家族的书画展~~~~不得不承认,个个字都写得不错!自惭形秽阿.......不过好像怎么都是抄唐诗三百首来着~~~~读着读着不免开心起来,这些个跟俺都挺熟!嘿嘿
别的没什么了,倒是假山的山洞里面有个康熙写得“福寿”字~~~~据说被和珅从皇室那儿偷偷搬来的,郁闷了后来的几代清帝王;走进假山,人人都在上面摸阿摸的(隔着个玻璃),手指轻轻点了下,算是沾上了点儿前朝帝王的福气!艾~~~叹口气,王侯将相,宁有种乎?
出了恭王府,吃了个“掉渣饼”来到了----雍和宫:藏传佛教的一个寺庙,以前是雍正出道前的府邸。以前倒是没怎么接触藏传佛教,还以为是和平时的佛教完全不同的另外一种宗教——喇嘛教!现在才知道,都是原是印度佛教的分支罢了:汉传/藏传佛教。宏伟的宫殿,袅袅的香烟,不过都弄得神秘兮兮的~~~~看了一个展厅里的一些挂着的古籍,仔细研究下,据本人猜测,n副小图配上特定的文字好像是藏人的识字挂图——估计宗教在西藏也有执行教育的功能(就像欧洲的要读书都要当个僧侣神父似的):各种牲畜都有特有的字表示,让人感到好笑的是在禽兽配字的中间,嘿嘿嘿,还有个人拉屎图都有个文字呢!!!(有人证,不信的自己去看,门票自出)
不同于汉传佛教,藏传佛教还能阴阳双修(不知道他们叫什么,反正是可以由性行为哦),N个佛像都有ML的场面,脚下还踏着一些人身:正在诧异怎么这些个佛啊,菩萨啊,这么没有素质,众生平等的时候还践踏人权,灭绝人性阿——忽然听到旁边个mm说,这些被践踏着的人身代表着人性的种种罪恶,而不是指真实的人,便恍然大悟呵。。。。。
最让人吃惊的是,在灵隐寺里肥肥胖胖可爱的弥勒佛,结果在藏传佛教里倒是非常的苗条:看来汉族和藏族都在自己的理解上对佛教进行了改造。。。。。不说了不说了,佛教太博大精深了,自个儿去钻研罢!
May 08 北京浮生之----圆明园+颐和园花了半天的时间去了圆明园,虽然人不少,但地方够大,稍微偏僻一点儿就没啥人了。从南门进了倚春园,纷飞的柳絮(应该是的) 除了让人呼吸不畅外,用来营造浪漫的气氛还行。当天的天气也不错,说实话是这几天里面最适合出行的。接着是长春园,不过估计是管理的以遗址的名义什么都没修下,路按照鲁迅的话说都是“人走出来的”。情不自禁的想象一下,若早个一百多年,那这儿的风景是蛮迷人的,有个帝王的念经房什么都没剩下只有地基和柱子蹲,还附带着失去生机而显得突兀的假山,的确可惜了些。。。不过批评下现在管园子的,怎么说也把湖里的水给清清,别的可以说是遗迹不去修,但不要把厚厚的淤泥+绿油油的水也说成是那时候的洋鬼子一把火烧得吧。。。。
绕了福海,没力气去划船,只能瞟瞟湖中漂着的一条条五彩船........艾,顺便鄙夷下:北京人真没见识,丫的什么小小的一水塘,竟然都敢称海——福海,北海,后海,前海,中南海。。。。。迁身份证的不要扔板砖啊~~~~~~~~~~
最后到了受过九年义务教育的都不能不知道,被洋毛子一把火烧了只剩下几根柱子的“西洋楼”。追求时尚的皇室估计把这东西当作新鲜的玩具来玩的,估计他们还没等像吸收汉文化一样花个一两百年来了解欧洲文明,新鲜的把玩儿就给变成了像雅典卫城似的废墟。。。艾,不好意思地我还在上面道貌岸然的拍照以记录“TOBY到此一游”,惭愧归惭愧,游玩的好心情可不想因此而变得阴暗起来,都这样了100多年了,自己愤青有个屁用。。。。。
原来以为还有一半真正的“圆明园”要逛,结果发现不开放;为自己花的门票钱可惜的同时还暗自窃喜:终于不用再继续走了。。。。。yy下要是能潇洒的策马而行,在偌大的园子里停停走走,够NB;在其还是布衣一个,梦里做作皇帝梦好了,真的要是这样子,还是讨厌如此的负担,诚心说自己没什么强烈的使命感,责任感——估计主要是因为“能力越小,责任越小”。
PS:出来吃了北大西门的烤翅;然后打算从西门进北门出坐公交。。。。走了半圈巨郁闷!北大有东门南门西门,就是没有北门!!!拖着11路原路返回+鄙视下:你怎么说都占了一个街区,怎么不开个北门方便下!愤恨之下拍了两张北大龌龊的照片——取名:校园一角~~~~嘿嘿嘿
第二天去了颐和园,景点太多,几步路就是一个什么什么的,建筑风格么就是传统的飞檐雕栏+藏传佛教的几座塔倒是正在修的最雄伟最明显的XXX(名字不知道)有几分神似布达拉宫;上去的排云楼不错,不过好多都要单独收门票,到人家地头上没办法,也只得买了!也不多说,大家看看照片YY下就好啦。。。皇帝估计这辈子都轮不到咱们咯。。。。。。。(不要看我说得轻巧,我可爬上爬下跑前跑后——迷路的时候还重复走了一条路三遍,才好不容易的收集了些景观,看过的捧个场!)
下面两张就是北大校园一角,货真价实的呵~~~~ |
|
||||||||||||||||||||||||
|
|