xiaoguozi's Blog
Pay it forword - 我并不觉的自豪,我所尝试的事情都失败了······习惯原本生活的人不容易改变,就算现状很糟,他们也很难改变,在过程中,他们还是放弃了······他们一放弃,大家就都是输家······让爱传出去,很困难,也无法预料,人们需要更细心的观察别人,要随时注意才能保护别人,因为他们未必知道自己要什么·····

好久没写搜索题了,把以前的题写过的重新写了下
http://acm.hdu.edu.cn/showproblem.php?pid=1241

 1 #include <iostream>
 2 
 3 using namespace std;
 4 const int N=101;
 5 const int M=101;
 6 char mp[N][M];
 7 int dir[8][2]={1,0,-1,0,0,1,0,-1,1,1,1,-1,-1,-1,-1,1};
 8 int m,n;
 9 void Input()
10 {    
11     for(int i=0;i<m;i++)
12         for(int j=0;j<n;j++)
13             cin>>mp[i][j];
14 }
15 void dfs(int i,int j)
16 {
17     if(mp[i][j]=='@')mp[i][j]='*';
18     for(int r=0;r<8;r++){
19         int x=i+dir[r][0];
20         int y=j+dir[r][1];
21         if(x<0||y<0||x>=m||y>=n||mp[x][y]=='*')continue;
22         dfs(x,y);
23     }
24     return ;
25 }
26 int process()
27 {
28     int ans=0;
29     for(int i=0;i<m;i++){
30         for(int j=0;j<n;j++){
31             if(mp[i][j]=='@'){
32                 dfs(i,j);
33                 ++ans;
34             }
35         }
36     }
37     return ans;
38 }
39 int main()
40 {
41     while(cin>>m>>n,m+n){
42         Input();
43         cout<<process()<<endl;
44     }
45     return 0;
46 }
posted @ 2008-07-21 11:46 小果子 阅读(434) | 评论 (0)编辑 收藏
(1).how do a program run:(example hellp.c)
four parts:pre-processor(.i .text)->compiler(.s text)->assembler(.o binary)->Linker(.exe binary)
1.pre-processor:add the head file to hello.c;
2.compiler:translate high-level language(c++ or c ==)to low-level language(assembly language);
3.assemble:translate assembly language to binary file(manchine language ) manchine instruction;
4.Linker:the linker handles merging the c library and hello.c(merging printf.o and hello.o to hello file) to executable object program,
then be loaded into memory and executed by the system. 
posted @ 2008-07-11 20:28 小果子 阅读(117) | 评论 (0)编辑 收藏

(转)在单文档中:

1)

void   CMainFrame::OnGetMinMaxInfo(MINMAXINFO   FAR*   lpMMI)    
  {  
  //   TODO:   Add   your   message   handler   code   here   and/or   call   default  
  lpMMI->ptMinTrackSize.x=655;  
  lpMMI->ptMinTrackSize.y=528;  
   
  lpMMI->ptMaxTrackSize.x=655;  
  lpMMI->ptMaxTrackSize.y=528;  
   
  CFrameWnd::OnGetMinMaxInfo(lpMMI);  
  }

2)

BOOL   CMainFrame::PreCreateWindow(CREATESTRUCT&   cs)  
  {  
  if(   !CFrameWnd::PreCreateWindow(cs)   )  
  return   FALSE;  
  cs.style&=~WS_MAXIMIZEBOX;  
  cs.style&=~WS_THICKFRAME;  
  cs.cx=400;  
  cs.cy=300;  
  return   TRUE;  
  }  


3)

//固定窗口的大小   400*400  
  void   CMysteryDlg::OnSizing(UINT   fwSide,   LPRECT   pRect)    
  {  
  if(   pRect->right   -     pRect->left   <400   )  
  pRect->right   =     pRect->left   +   400;  
  if(   pRect->bottom   -   pRect->top   <   400   )  
  pRect->bottom   =   pRect->top   +   400;  
   
  CDialog::OnSizing(fwSide,   pRect);  
   
   
  }  

有点闪烁>>

win32中:

 case   WM_CREATE:  
      style   =   GetWindowLong(hWnd,   GWL_STYLE);  
      style   =   style   &   (~WS_THICKFRAME)   |   WS_DLGFRAME;  
      SetWindowLong(hWnd,   GWL_STYLE,   style);  
      break;

posted @ 2008-05-27 16:49 小果子 阅读(1306) | 评论 (0)编辑 收藏
5.17 浙江省赛
今天是参加省赛日子,集训了将近一个多月的日子,练习赛也练了N多,终于到出征日子,“兴奋”;
去浙大紫金港路上,司机居然也迷路了,来了次“深搜”,^_^。。
到后是露天的开幕式,完后就开始试机了。。。发现vc 6.0没装,不过DEVC++可以用,虽然不情愿,
不过没办法(忍),不过不能忍的的那调试。。。绝对BT,不过幸好下午比赛时已安装好vc,不过以后
还是多用用devc++,(微软的东西用多,会懒,^_^)。。。
正赛:
比赛时12:00-17:00 五个小时,12:00准备开始,试机时已经知道有12道题目,不过没想到的是有很多
水题,向往常练习一样,cyf看前面四题,我看中间四题,ggd看最后四题,我从E开始看,水题就来了。。
求多项式的导数,把系数输出就行了。。。会点编程的都会了。。。于是上机敲,敲完了,发现测试数据
没过,(BS下自己),我敲代码时,很多队伍过了F题,ggd也看了F题,说简单题,于是我把敲完的代码
print,ggd上来敲,完后一次Y,敲完后,cyf跟我抢机子,说A,B都水题,他先敲,于是cyf敲完A,完后也
一次Y,于是我上去敲完,完后一次Y,cyf于是接着敲B,说MST,直接敲,敲的同时我也看G题,看完后也发现
是中等模拟题,处理时繁琐,不过还好,正好这时,cyf敲完B,一次Y,于是我上去敲这漫长的G,中间cyf看C,D,
完后比较难,转移到后面,看H题,ggd也是看后面,不知道后面去做D去了(比赛一大失误),我敲G,他们俩看题,中间cyf说H题可以搜索做(后来发现他题意理解错误),我叫他纸上写好,我继续敲,完后他上来敲,我把
剩下的写纸上,不一会,就完了。cyf也完了。。。测试数据他过后,交了次,WA,于是我上去敲完G题,测试数据
过后,当时我读字符串时用了getline(cin,ss),我也知道vc98和vc2003对处理这个不一样,98是敲完字符串敲两个回车才有反应,vc2003(及以上版本)敲完回车就出解了。不过当时也想了下,不过还是交了,WA,(郁闷),
于是我print代码,看自己的,中间ggd和我讨论D题,他说了一大通,老实说我惦记着G题,中间cyf又改了H题,交了一次还是WA,于是我上去调试我的代码,发现确实没什么错误,一想,浙大用的是G++,getline(cin,ss)也是两个回车才出解的,于是我无奈的把它改成c风格的读入,然后初始化字符串(比较无奈),完后,交了,返回Y,(开心),唉,不能怪谁,怪自己还得考虑下人家的编译器,(自己学校OJ用了03的编译器惯了),完后,cyf继续H题,(也就是这题卡住了我们,到最后集体看这题),换了种方法,一维dp,他敲完后交了,WA,(郁闷),我当时看了最后一题,题意大致了解,cyf和ggd都看了这题,说题意不是很明白,就是在xy平面找一个点,使这点的的E最大,当时因为没看清题目描述,想着平面xy找点,想着是实数的,所以有无数个,不知道怎么下手(其实题意是整数点,而且题目限定了平面的区域,所以直接枚举就可以了。。这题比较失败),所以跳过了。一看K题是福娃的,一看一大张图(恐惧感就来了,认为一定很难,后来发现也是一道水题),因为cyf的H题一直没搞出来,所以我也看H题,最后一小时封版后,我们三集体做H题(比较失败),原来cyf一开始就理解错了,而我,也想出了三维dp(不知道对不对),虽然ggd帮着改完cfy的代码最后两三分Y了。但是确实比较失败,导致其他一些可以做的没做。。。
结束语:总结了这次比赛,总体难度不是很高(没自己的学校的邀请赛题目好,自我感觉),区分度就不是很好,导致一大堆都是》=5的,(囧),做出8题算正常发挥,7题马马虎虎,6题的就有点不太满意了。。。我们队最后A了6题,(自我感觉可以A8题,正常+顺利的话),拿了一块铜牌(囧),(安慰奖算自我感觉,这暑假已决定好好练,明年的这时候估计也准备考研了(80%几率)),不过总体我们学校还好,唉,如果我们学校RP好点,把杯捧回来和最佳女生奖都拿来,(男一队和女一队都落后浙大多了一两次罚时,就差那么一点),真希望是这样。。。
新的征程又开始了,新一轮循环又打开序幕,为明天省赛充电,今天完后,一大堆老队员退役了,(寒),不过还是相信的HDU的acm不会沉默,至少像刘老师所说,一两年内不会衰落,(当然也得靠大家努力训练了),为
HDU美好的ACM 大家努力。。。
人家打篮球是“无兄弟,不篮球”,我们是“无兄弟,不AC”,呵呵,认识了许多好伙伴(高兴)。。。
ps:今天看到“驴”队和李老大(高兴,呵呵,都是牛牛级的),发现“驴”队变胖了。。(好奇,^_^)
posted @ 2008-05-19 13:17 小果子 阅读(169) | 评论 (0)编辑 收藏

题目意思说用最少的次数翻动使所有的面是白色或黑色:
思路:通过枚举第一行的状态(16种状态),得出答案..
附上code:

 1 #include <iostream>
 
2 #include <string>
 
3 #include <bitset>
 
4 
 
5 using namespace std;
 
6 int map[10][10];
 
7 int opr[10][10];
 
8 int ans,zhen;
 
9 void hanshu(int n)
10 {        
11     for(int i=0;i<16;i++){
12         int cnt=0;
13         bitset<4> bit(i);
14         for(int r=1;r<=4;r++)
15             for(int j=1;j<=4;j++)
16                 opr[r][j]=map[r][j];
17         for(int r=0;r<4;r++){
18             if(bit[r]==1){
19                 cnt++;
20                 opr[1][r+1]^=1;
21                 opr[1][r]^=1;
22                 opr[2][r+1]^=1;
23                 opr[1][r+2]^=1;
24             }
25         }
26         for(int r=2;r<=4;r++){
27             for(int j=1;j<=4;j++){
28                 if(opr[r-1][j]==n){
29                     cnt++;
30                     opr[r-1][j]^=1;
31                     opr[r][j-1]^=1;
32                     opr[r][j]^=1;
33                     opr[r][j+1]^=1;
34                     opr[r+1][j]^=1;
35                 }
36             }
37         }
38         bool prim=false;
39         for(int i=1;i<=4;i++){
40             if(opr[4][i]==n){
41                 prim=true;
42             }
43         }
44         if(!prim&&cnt<ans){
45             zhen=0,ans=cnt;
46         }
47     }
48 }
49 int main()
50 {
51     string ss;
52     while(cin>>ss){
53         ans=0x7fffffff;
54         zhen=-1;
55         memset(map,0,sizeof(map));
56         memset(opr,0,sizeof(opr));
57         for(int i=0;i<ss.size();++i){
58             if(ss[i]=='b')map[1][i+1]=0;
59             else map[1][i+1]=1;
60         }
61         for(int i=2;i<=4;i++){
62             cin>>ss;
63             for(int j=0;j<ss.size();j++){
64                 if(ss[j]=='b')map[i][j+1]=0;
65                 else map[i][j+1]=1;
66             }
67         }
68         hanshu(0);
69         hanshu(1);
70         if(zhen!=-1)cout<<ans<<endl;
71         else cout<<"Impossible"<<endl;
72     }
73     return 0;
74 }
75 
posted @ 2008-05-15 20:22 小果子 阅读(592) | 评论 (0)编辑 收藏
仅列出标题
共58页: First 50 51 52 53 54 55 56 57 58