1 #include <iostream>
2 #include <string>
3 #include <new>
4 #include <vector>
5 #include <algorithm>
6 using namespace std;
7
8 int main()
9 {
10 //freopen( "in.txt","r",stdin );
11 int tree[100][100];
12 int sum[100][100];
13 int num;
14 while ( cin >> num && num != 0 )
15 {
16 int w,h;
17 cin >> w >> h;
18 for ( int i = 0; i != h; ++i )
19 for ( int j = 0; j != w; ++j )
20 {
21 tree[i][j] = 0;
22 sum[i][j] = 0;
23 }
24 int x,y;
25 for ( int i = 0; i != num; ++i )
26 {
27 cin >> x >> y;
28 tree[y-1][x-1] = 1;
29 }
30 //for ( int i = 0; i != h; ++i )
31 //{
32 //for ( int j = 0; j != w; ++j )
33 //cout << tree[i][j] << " ";
34 //cout << endl;
35 //}
36 cin >> x >> y; //x是宽 ,y 是长
37 for ( int i = 0; i != h; ++i ) //对于 宽度的 叠加
38 for ( int j = 0; j != w - x + 1; ++j )
39 for ( int k = j,n = 0; n != x; ++k,++n )
40 sum[i][j] += tree[i][k];
41 int max1 = 0;
42 int s = 0;
43 for ( int i = 0; i != w - x + 1; ++i ) // 宽 // 对于 长度的 叠加
44 for ( int j = 0; j != h - y + 1; ++j ) // 高
45 {
46 s = 0;
47 for ( int k = j,n = 0; n != y; ++k,++n )
48 s +=sum[k][i];
49 max1 = max( s,max1 );
50 }
51 //for ( int i = 0; i != h; ++i )
52 //{
53 //for ( int j = 0; j != w-x + 1; ++j )
54 //cout << sum[i][j] << " ";
55 //cout << endl;
56 //}
57 cout << max1 << endl;
58 }
59 return 0;
60 }
61
62
63
64
1 #include <iostream>
2 #include <string>
3 #include <new>
4 #include <vector>
5 using namespace std;
6
7 inline int ji_suan( char &ch1,char &ch2 )
8 {
9 int j = ( ch1 - '0' ) * 10 + ( ch2 - '0' );
10 return j;
11 }
12 int main()
13 {
14 string str;
15 vector<int> v1;
16 while ( cin >> str && str != "0" )
17 {
18 for ( int i = 0; i != str.size(); ++i )
19 v1.push_back(0);
20 if ( str[0] - '0' >= 1 && str[0] - '0' <= 26 )
21 v1[0] = 1;
22 int i = 1;
23 for ( ; i != str.size(); ++i )
24 {
25 if ( ( i + 1 != str.size() && str[i+1] == '0' ) || str[i] == '0' || str[i-1] == '0' ) //判断 0 的情况
26 {
27 v1[i] = v1[i-1];
28 continue;
29 }
30 int j = ji_suan( str[i-1],str[i] );
31 if ( i == 1 && ( j >= 1 && j <= 26 ) ) // 然后 是一个 推的 过程 动动笔就明白了
32 v1[i] = v1[i-1] + 1;
33 else if ( i > 1 )
34 {
35 if ( j >= 1 && j <= 26 )
36 v1[i] = v1[i-1] + v1[i-2];
37 else v1[i] = v1[i-1];
38 }
39 else v1[i] = v1[i-1]; // 主要 是针对 i == 1 不成立的时候
40 }
41 cout << v1[i-1] << endl;
42 v1.clear();
43 }
44 return 0;
45 }
46
郁闷!! 这道题其实是一道很水的! 当然是我明白以后才认识到的!
这道题, 其实 所有的要不知道道 奇偶时间 是吃还是不吃的好,所以 开一个三维数组 分别表示 分别表示 奇数偶数吃和不吃! 主要是 判断上一次是吃好还是不吃的好!
还有今天学会 三维数组用法!! 咳 我还有很长一段路要走! 加油!!!
1 1 #include <iostream>
2 2 #include <vector>
3 3 #include <string>
4 4 #include <new>
5 5 #include <algorithm>
6 6 using namespace std;
7 7
8 8 int s1[150001][2][2];
9 9
10 10
11 11 int main()
12 12 {
13 13 int s2[150001];
14 14 int num;
15 15 cin >> num;
16 16 for ( int i = 0; i != num; ++i )
17 17 scanf ( "%d",&s2[i] );
18 18 for ( int i = 1; i <= num; ++i )
19 19 {
20 20 s1[i][0][0] = max( s1[i-1][0][0],s1[i-1][0][1] ); // 偶数时间 没有吃
21 21 s1[i][0][1] = max( s1[i-1][1][0],s1[i-1][1][1] ) - s2[i-1]; // 偶数时间 吃了
22 22 s1[i][1][0] = max( s1[i-1][1][0],s1[i-1][1][1] ); // 奇数时间 不吃
23 23 s1[i][1][1] = max( s1[i-1][0][0],s1[i-1][0][1] ) + s2[i-1];
24 24 }
25 25 cout << max( max( s1[num][0][0],s1[num][0][1] ),max( s1[num][1][0],s1[num][1][1] ) ) << endl;
26 26 }
27 27
1 #include <iostream>
2 #include <vector>
3 #include <new>
4 #include <queue>
5 using namespace std;
6
7 bool pan_duan( int &n,queue<int> &v4,int × )
8 {
9 if ( n != 0 )
10 {
11 v4.push(times + 30); // 直接 进取 吃了 30 分钟
12 --n;
13 return true;
14 }
15 else
16 {
17 int time2 = v4.front();
18 if ( times >= time2 )
19 {
20 v4.pop();
21 v4.push( times + 30 );
22 return true;
23 }
24 else if ( times + 30 >= time2 )
25 {
26 v4.pop();
27 v4.push( time2 + 30 );
28 return true;
29 }
30 else return false;
31 }
32 }
33
34
35 int main()
36 {
37 //freopen("in.txt","r",stdin );
38 int a,b,c;
39 while ( scanf ( "%d",&a ) )
40 {
41 scanf ( "%d",&b );
42 scanf ( "%d",&c );
43 if ( a == 0 && b == 0 && c == 0 )
44 break;
45 queue<int> v1; //1~2
46 queue<int> v2; //3~4;
47 queue<int> v3; //5~6;
48 int t,t1,s,n;
49 char ch,ch1;
50 int num = 0;
51 bool y;
52 while ( 1 )
53 {
54 cin >> ch1;
55 if ( ch1 == '#' )
56 break;
57 else cin >> t1 >> ch >> s >> n;
58 t1 = ( ch1 - '0' ) * 10 + t1;
59 int time;
60 time = t1 * 60 + s; // 等待
61 //cout << time << "fen" << endl;
62 if ( n >= 1 && n <= 2 )
63 y = pan_duan( a,v1,time );
64 else if ( n >= 3 && n <= 4 )
65 y = pan_duan( b,v2,time );
66 else if ( n >= 5 && n <= 6 )
67 y = pan_duan( c,v3,time );
68 if ( y == true )
69 num += n;
70 }
71 cout << num << endl;
72 }
73 return 0;
74 }
75
76
英语太差了!! 可以说基本上就是脑残!! 看题都花了!! T T T T~~~ 郁闷!! 只能怨自己!!!
1 #include <iostream>
2 #include <vector>
3 #include <string>
4 #include <new>
5 #include <algorithm>
6 using namespace std;
7
8 struct nod;
9
10 struct nod1 {
11 vector<nod *> wen_jian;
12 };
13
14 struct nod {
15 int num;
16 string word;
17 nod1 *next;
18 };
19
20 nod1 *head = new nod1;
21
22 void zhuan( string &str1 )
23 {
24 nod1 *p_rear = head;
25 string str_word;
26 string ::iterator p = str1.begin(),q = str1.end();
27 int n = 0;
28 while ( p != q )
29 {
30 str_word = "";
31 while ( 1 )
32 {
33 str_word += *p++;
34 if ( p == q )
35 break;
36 if ( *p == '\\' )
37 {
38 ++p;
39 break;
40 }
41 }
42 bool y = false;
43 for ( vector<nod *>::iterator p_nod1 = p_rear->wen_jian.begin(),q_nod1 = p_rear->wen_jian.end();p_nod1 != q_nod1; ++p_nod1 )
44 {
45 if ( (*p_nod1)->word == str_word )
46 {
47 p_rear = (*p_nod1)->next;
48 y = true;
49 break;
50 }
51 }
52 if ( y == false )
53 {
54 nod *p_nod = new nod; // 建¨一?个? nod 类え?型í
55 p_nod ->num = n; // 表括?示?层?数簓
56 p_nod ->word = str_word; // 表括?示?此?单蹋?词洙?
57 p_nod ->next = new nod1; //开a放?新?的?层?数簓
58 p_rear->wen_jian.push_back(p_nod);
59 p_rear = p_nod->next;
60
61 }
62 ++n;
63 }
64 }
65
66
67 bool s( nod *p1,nod *p2 )
68 {
69 return p1->word < p2->word;
70 }
71
72 void pai_xu( vector<nod *>::iterator p11,vector<nod *>::iterator q11 )
73 {
74 while ( p11 != q11 )
75 {
76 stable_sort( p11,q11,s );
77 pai_xu( (*p11)->next->wen_jian.begin(),(*p11)->next->wen_jian.end() );
78 ++p11;
79 }
80 }
81
82 void shu_chu( vector<nod *>::iterator p11,vector<nod *>::iterator q11 )
83 {
84 while( p11 != q11 )
85 {
86 for ( int i = 0; i != (*p11)->num; ++i )
87 cout << " ";
88 cout << (*p11)->word << endl;
89 shu_chu( (*p11)->next->wen_jian.begin(),(*p11)->next->wen_jian.end() );
90 ++p11;
91 }
92 }
93
94 int main()
95 {
96 //freopen( "in.txt","r",stdin );
97 string str;
98 int n;
99 cin >> n;
100 while ( n != 0 )
101 {
102 cin >> str;
103 zhuan( str );
104 --n;
105 }
106 nod1 *p = head;
107 pai_xu( p->wen_jian.begin(),p->wen_jian.end() );
108 p = head;
109 shu_chu( p->wen_jian.begin(),p->wen_jian.end() );
110 return 0;
111 }
好久没有写题目了! 抓狂! 因为中间插上去c++ ,所以停了好长一段时间,现在c++ 已经差不多了,当让还没有看完,但是可以用了! 我现在最最最缺的还是算法和数据结构,可以说是脑残分子!! 加油啊! 时间不多了! 一定要修行! 明天开始,每天看一道,想一道! 熏熏渐进!
最新还是忙着看书,由于其他事情多,唉,真的抽时间看书!
还有其实最近每天睡前还想着另外一件事情,那就是~想要追的一个女孩子,但是她不再身边,而是在家乡,但是其实我喜欢,应该是一直对她有感觉,5年了!! 但是我不知道,她现在是什么态度,我只是在网上和她聊天! 她是一个爱玩,而且活泼的女孩子,哈哈
而且她玩的很疯哈! 就是因为她的疯,我才突然感觉她是否适合我! 但是,我现在追得脚步,一直停留在原地,其实一点进展都没有!! 郁闷!!这些是 c++ 额外的事情!
但是,哈哈 c++ 加油! 我会奋斗下去!
今天是 5.1 第2天! 哈~~ 第一天 在宿舍看一天 c++ 不错不错,把看完一章! 今天忍不住了哈哈,约了人家吃饭,天气好天气好~~过节!
今天给自己放假阿哈哈,== 出门咯! 晚上回来 恢复 奋斗!! 我要加油!!
这周能忙的都忙完了~ 接下去可以说可以恢复一下生活规律了! 最近一有时间就看c++! 看的速度还可以,我自己也知道主要是效率! 我吸取前几次的教训,不要太急,慢慢看懂了明白了,那样子目的就达到了,不然又得有一天从新开始看! 接下去是5.1! 暂时的安排是,把c++的进度,这三天加快一点!哈哈~~ 尽力而为! 继续加油!