215 条题解
-
0sanyun0606 LV 8 @ 2008-10-13 10:13:22
T_T一开始写错了~
第二遍 用的integer WA了一个点
第三遍 莫名其妙的第一个点超时
第四遍 和第三遍一模一样的程序全过了……T_T
我可怜的AC率啊…… -
02009-07-06 20:42:22@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
这题只要模拟就是了,还愣着干啥,磨你啊 -
02008-10-10 00:53:56@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms本来可以一次AC的,就因为忘了给变量赋初值0,提交了3次才AC~~~~~~~~~~,郁闷中
-
02008-10-05 21:20:47@
var
a:array[1..100] of integer;
i,j,n,t:integer;s:longint;
begin
read(n);
s:=0;
for i:=1 to n do
begin
read(a[i]);
s:=s+a[i];
end;
s:=s div n;
for i:=1 to n do a[i]:=a[i]-s;
t:=0;
for i:=1 to n do
if a[i]0 then begin
t:=t+1;
a:=a+a[i];
end;
writeln(t);
end.第一次一次ac!耶……鄙视我吧
-
02008-10-05 19:46:52@
Flag Accepted
题号 P1123
类型 模拟
通过 3193人
提交 6678次
通过率 48%
难度 1编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msAC!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
02008-09-28 20:28:40@
readln(n);
s:=0;
for i:=1 to n do
begin
read(a[i]);
s:=s+a[i];
end;s:=s div n;
j:=0;
for t:=1 to 3 do
for i:=1 to n do
if a[i]s then
begin
if in then
if a[i]>s then
begin
a:=a+a[i]-s;
a[i]:=s;
j:=j+1;
end
else
if a[i]s then
begin
a:=a+a[i]-s;
a[i]:=s;
j:=j+1;
end
else
if a[n] -
02008-09-24 09:40:23@
#include
int main(){
int n,i,move=0;
long a[101],num=0;
scanf("%d",&n);
for (i=0;i -
02008-09-22 10:55:16@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms庆祝一下···
只需要从左到右扫1下就OK -
02008-10-17 11:39:53@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msprogram new_cards;
const
maxn = 100;
maxm = 200;
maxnum = 256;
op_max = 32;
type
point = ^node;
node = record
area ,
left ,
right :longint;
next:point;
end;
arr_tree = array[0..maxm] of longint;
arr_card = array[0..maxn] of longint;
dp_f = array[0..maxn,0..maxnum] of longint;
key = array[0..op_max] of point;
var
t , // the root
number ,
sum ,
ans ,
result : longint;
left ,
right : arr_tree;
card : arr_card;
tree : key;
procedure init;
var
i : longint;
begin
readln(number);
for i:=1 to number do
read(card[i]); // init the number of the cards
sum:=0;
for i:=1 to number do
sum:=sum+card[i]; // get the amount of the cards
sum:=sum div number;
ans:=0;
end;
function get(t: longint):longint; // get the new root of the tree
var
root : longint;
begin
root := t;
while root op_max - 1 shl 5 do
root := root shr 1;
get := root;
end;
procedure build_tree; // get the tree to dp
var
i : longint;
begin
t := 1;
t :=get(t);
if t = 0 then
exit;
t := t shr 1;
t := (t xor 1023 - 256) shr 16;
for i := 0 to op_max do
begin
new(tree[i]);
t:=get(t);
t:=t*tree[i]^.area xor 16;
t:=tree[i]^.left+tree[i]^.right+t xor 16;
t:=get(t);
build_tree;
end;
end;
procedure tree_dp; // dp on the AVL
var
f : dp_f;
mt ,
mk ,
i :longint;
begin
i:=t; // t is the root of the tree
fillchar(f,sizeof(f),0);
while i0 do
begin
mt:=card[i];
f:=maxlongint;
for mk:=0 to mt do // get the min movement
if fright[i] then
i:=right[i];
end;
result:=f[i,card[1] div 1000];
end;
procedure main_work; // main
var
move ,
i : longint;
begin
build_tree;
tree_dp;
for i:=1 to number-1 do
if card[i] -
02008-09-19 20:36:51@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0mstoo water
-
02008-09-15 21:21:49@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msHi...ing
-
02008-09-15 20:16:03@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms___|\__|\__|我是华丽的分割线\__|\__|\__|\__|__
计算出平均值,从左往右判断,不够平均值的从右边拿,次数+1;超过平均值的往右边放,次数+1 -
02008-09-13 09:56:01@
program tao;
var a:array[0..1000] of integer;
av,n:longint;
ans,i,j:longint;
begin
readln(n);
av:=0;
for i:=1 to n do
begin
read(a[i]);
inc(av,a[i]);
end;
av:=av div n ;
for i:=1 to n-1 do
begin
j:=av-a[i];
if av>a[i] then begin a:=a-j; inc(ans);end;
if av -
02008-09-11 19:21:12@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02008-09-10 19:13:31@
我好象是第3000个AC的
-
02008-09-06 17:14:38@
谢谢楼下那位“xiaotao”了
#include
using namespace std;
main (){
int n;
cin >>n;
int a[n],b,sum=0,cs=0;
for (b=0;b>a;
for (b=0;b -
02008-08-28 09:21:30@
水题可以增长ac率~
-
02008-08-27 12:47:52@
var i,j,m,s,n:longint;
a:array[0..1000] of longint;
begin
readln(n);
m:=0; s:=0;
for i:=1 to n do begin read(a[i]);
m:=m+a[i];
end;
m:=m div n;
for i:=1 to n-1 do
if a[i]m then
begin
a:=a+a[i]-m;
inc(s);
end;
write(s);
end. -
02008-08-26 21:25:12@
做了半天,只对百分之80,
最后 把变量改成qword 竟然成功了! -
02008-08-26 18:24:09@
var t,s,i,k,m:integer;
a:array[1..100]of integer;
begin
readln(n);s:=0;
for i:=1 to n do
begin read(a[i]);s:=s+a[i];end;
k:=s div n;
for i:=1 to n do a[i]:=a[i]-k;t:=0;
for i:=1 to n-1 do
if a[i]0 then
begin
inc(t);
a:=a+a[i];a[i]:=0;
writeln(t);
end.