God bless U!
C++博客
首页
新随笔
新文章
联系
聚合
管理
posts - 14,comments - 2,trackbacks - 0
<
2024年11月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
给我留言
查看公开留言
查看私人留言
随笔分类
C++ Zealot!(4)
Hobbies(1)
Skill(3)
Unix Zealot!(6)
Xlyz's zealot!(3)
随笔档案
2010年7月 (2)
2010年6月 (5)
2009年10月 (1)
2009年2月 (6)
文章档案
2010年6月 (2)
相册
NBA
xlyz
搜索
最新评论
1. re: const 的用法以及误区[未登录]
是的,b是const当然就不能通过编译了@paul
--xlyz.os
2. re: const 的用法以及误区[未登录]
const int *p = &b;
int *q = &b;
*q++;
这段代码能否通过编译,取决于b的声明状况吧?~
--paul
阅读排行榜
1. const 的用法以及误区(2333)
2. 根据先序遍历和中序遍历创建二叉树(1177)
3. tar 命令(579)
4. linux 刻录(503)
5. VM下xp与linux共享(323)
评论排行榜
1. const 的用法以及误区(2)
2. NBA 总决赛预测(0)
3. federa上安装mplayer(0)
4. Tips(0)
5. mplayer 播放器问题(0)
一个小程序。打发时间...
/**/
/*
* =====================================================================================
*
* Filename: distribute.cc
*
* Description: 7 = 1+6
* 7 = 2+5
* 7 = 3+4
* 7 = 1+1+5
* 7 = 1+2+4
* 7 = 1+3+3
* 7 = 2+2+3
* 7 = 1+1+1+4
* 7 = 1+1+2+3
* 7 = 1+2+2+2
* 7 = 1+1+1+1+3
* 7 = 1+1+1+2+2
* 7 = 1+1+1+1+1+2
* 7 = 1+1+1+1+1+1+1
*
* Version: 1.0
* Created: 08/31/09 13:50:08
* Revision: none
* Compiler: gcc
*
* Author: Xlyzalleyoop (WL), xlyz.os@gmail.com
* Company: XLYZ
*
* =====================================================================================
*/
#include
<
iostream
>
using
namespace
std;
typedef unsigned
int
u32;
const
u32 MAX_RES
=
1024
;
int
main(
int
argc,
char
*
argv[])
{
cout
<<
"
input the data you wanna distribute:
"
;
u32 n
=
0
;
cin
>>
n;
if
(n
/
2
<=
0
)
return
0
;
u32
**
res
=
new
u32
*
[MAX_RES];
for
(u32 i
=
0
; i
<
MAX_RES; i
++
)
res[i]
=
new
u32[n];
u32 current_row
=
0
;
for
(u32 i
=
1
; i
<=
n
/
2
; i
++
)
{
u32 current_col
=
0
;
while
(res[current_row][current_col])
current_col
++
;
res[current_row][current_col]
=
i;
res[current_row
++
][
++
current_col]
=
n
-
i;
}
u32 start_row
=
0
;
u32 end_row
=
current_row;
u32 counter
=
2
;
while
(counter
++
<
n)
{
for
(u32 i
=
start_row; i
<
end_row; i
++
)
{
u32 j
=
0
;
while
(res[i][j])
j
++
;
if
(j
<
1
)
{
cout
<<
"
ERROR
"
<<
endl;
return
0
;
}
u32 split_val
=
res[i][
--
j];
u32 comp_val
=
res[i][
--
j];
for
(u32 k
=
1
; k
<=
split_val
/
2
;k
++
)
if
(k
>=
comp_val
&&
(split_val
-
k)
>=
comp_val)
{
u32 m
=
0
;
while
(res[i][m])
res[current_row][m]
=
res[i][m
++
];
res[current_row][m
--
]
=
split_val
-
k;
res[current_row][m]
=
k;
++
current_row;
if
(MAX_RES
==
current_row)
{
cout
<<
"
the array is not enough\n
"
;
return
0
;
}
}
}
start_row
=
end_row;
end_row
=
current_row;
}
u32 row
=
0
;
u32 col
=
0
;
u32 non_zero_col
=
0
;
while
(res[row][col])
{
cout
<<
n
<<
"
=
"
;
while
(non_zero_col
<
n
&&
res[row][non_zero_col])
++
non_zero_col;
for
(; col
<
non_zero_col
-
1
;
++
col)
cout
<<
res[row][col]
<<
"
+
"
;
cout
<<
res[row][col]
<<
'
\n
'
;
++
row;
col
=
0
;
non_zero_col
=
0
;
}
for
(u32 m
=
0
; m
<
MAX_RES; m
++
)
delete []res[m];
delete []res;
return
0
;
}
posted on 2009-10-27 23:15
Jiggy.Stone
阅读(298)
评论(0)
编辑
收藏
引用
所属分类:
C++ Zealot!
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
const 的用法以及误区
一个小程序。打发时间...
Coding Finished
根据先序遍历和中序遍历创建二叉树
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理