371 条题解
-
0td650769 LV 8 @ 2014-01-31 17:37:45
#include<iostream>
#include<algorithm>
using namespace std;
int a[100];
int main()
{
int n; cin>>n;
for(int i=0;i<n;i++) cin>>a[i];
sort(a,a+n); int ans=unique(a,a+n)-a;
cout<<ans<<endl;
for(int i=0;i<ans;i++) cout<<a[i]<<" ";
}
论stl的重要性。。。 -
02014-01-18 14:37:22@
var
num,sum,i,j,temp :longint;
ran:array[1..100] of integer;begin
readln (num);
for i:=1 to num do read(ran[i]);
for i:=1 to num do
for j:=1 to num do
begin
if i<>j then
begin
if ran[i]=ran[j] then ran[j]:=0
end;
end;for i:=1 to num do
begin
if ran[i]<>0 then sum:=sum+1;
end;for i:=1 to num do
for j:=i to num do
begin
if ran[i]>ran[j] then
begin
temp:=ran[i];
ran[i]:=ran[j];
ran[j]:=temp;
end;
end;writeln;
writeln (sum);
for i:=1 to num do
begin
if ran[i]<>0 then write(ran[i],' ');
end;
writeln;
end. -
02014-01-01 12:01:07@
Vijos 题解:http://hi.baidu.com/umule/item/2c997f8ed9600fdae596e017
有疑问请留言 共同进步 -
02013-11-27 13:09:46@
测试数据 #0: Accepted, time = 0 ms, mem = 440 KiB, score = 10
测试数据 #1: Accepted, time = 0 ms, mem = 452 KiB, score = 10
测试数据 #2: Accepted, time = 0 ms, mem = 444 KiB, score = 10
测试数据 #3: Accepted, time = 0 ms, mem = 444 KiB, score = 10
测试数据 #4: Accepted, time = 0 ms, mem = 448 KiB, score = 10
测试数据 #5: Accepted, time = 0 ms, mem = 440 KiB, score = 10
测试数据 #6: Accepted, time = 0 ms, mem = 448 KiB, score = 10
测试数据 #7: Accepted, time = 0 ms, mem = 448 KiB, score = 10
测试数据 #8: Accepted, time = 0 ms, mem = 452 KiB, score = 10
测试数据 #9: Accepted, time = 0 ms, mem = 448 KiB, score = 10
不足之处欢迎大家指教
#include<cstdio>
#include<algorithm>
using namespace std;
bool b[1001];int i,n,a[101],len=0,c;
main(){
scanf("%d",&n);
for(i=1;i<=n;i++){scanf("%d",&c);if(!b[c]){a[++len]=c;b[c]=1;} }
sort(a+1,a+1+len);
printf("%d\n",len);
for(i=1;i<len;i++)printf("%d ",a[i]);
printf("%d\n",a[len]);
} -
02013-11-14 12:30:13@
评测结果
编译成功测试数据 #0: Accepted, time = 0 ms, mem = 568 KiB, score = 10
测试数据 #1: Accepted, time = 15 ms, mem = 568 KiB, score = 10
测试数据 #2: Accepted, time = 0 ms, mem = 560 KiB, score = 10
测试数据 #3: Accepted, time = 15 ms, mem = 568 KiB, score = 10
测试数据 #4: Accepted, time = 0 ms, mem = 568 KiB, score = 10
测试数据 #5: Accepted, time = 15 ms, mem = 564 KiB, score = 10
测试数据 #6: Accepted, time = 0 ms, mem = 560 KiB, score = 10
测试数据 #7: Accepted, time = 15 ms, mem = 564 KiB, score = 10
测试数据 #8: Accepted, time = 0 ms, mem = 568 KiB, score = 10
测试数据 #9: Accepted, time = 15 ms, mem = 564 KiB, score = 10
Accepted, time = 75 ms, mem = 568 KiB, score = 100
代码
#include<iostream>
#include<cstdio>
using namespace std;int a[1001]={0};
int main(){
int n,i,x,s=0,j;
cin>>n;
for(i=1;i<=n;i++){
cin>>x;
a[x]=1;
}
for(i=1;i<=1000;i++){
s=s+a[i];
}
cout<<s<<endl;
j=1000;
while(a[j]==0)j--;
for(i=1;i<=j-1;i++){
if(a[i]==1)cout<<i<<' ';
}
cout<<j<<endl;
} -
02013-11-03 12:32:14@
堪称最简
var a,b:array[1..2000] of longint; n,i,num,k:longint;
begin
readln(n);
for i:=1 to n do
begin
begin
read(k); b[i]:=k;
a[k]:=a[k]+1;
end;
end;
for i:=1 to 2000 do if a[i]<>0 then num:=num+1; writeln(num);
for i:=1 to 2000 do if a[i]>0 then write(i,' ');
end.
满分 -
02013-11-03 12:31:27@
编译成功
foo.pas(9,13) Warning: Variable "a" does not seem to be initialized
foo.pas(12,42) Warning: Variable "num" does not seem to be initialized
测试数据 #0: Accepted, time = 0 ms, mem = 836 KiB, score = 10
测试数据 #1: Accepted, time = 0 ms, mem = 840 KiB, score = 10
测试数据 #2: Accepted, time = 0 ms, mem = 836 KiB, score = 10
测试数据 #3: Accepted, time = 0 ms, mem = 840 KiB, score = 10
测试数据 #4: Accepted, time = 0 ms, mem = 840 KiB, score = 10
测试数据 #5: Accepted, time = 0 ms, mem = 836 KiB, score = 10
测试数据 #6: Accepted, time = 0 ms, mem = 836 KiB, score = 10
测试数据 #7: Accepted, time = 0 ms, mem = 836 KiB, score = 10
测试数据 #8: Accepted, time = 0 ms, mem = 840 KiB, score = 10
测试数据 #9: Accepted, time = 0 ms, mem = 840 KiB, score = 10
Accepted, time = 0 ms, mem = 840 KiB, score = 100
代码
var a,b:array[1..2000] of longint; n,i,num,k:longint;begin
readln(n);
for i:=1 to n do
begin
begin
read(k); b[i]:=k;
a[k]:=a[k]+1;
end;
end;
for i:=1 to 2000 do if a[i]<>0 then num:=num+1; writeln(num);for i:=1 to 2000 do if a[i]>0 then write(i,' ');
end. -
02013-10-27 18:52:56@
var
a, b: array[1..1000] of longint;
n, i, j, t: longint;
begin
readln(n);
for i := 1 to n do
Read(a[i]);
readln;
for i := 1 to n - 1 do
for j := 1 to n - i do
if a[j] > a[j + 1] then
begin
t := a[j];
a[j] := a[j + 1];
a[j + 1] := t;
end;
for i := 1 to n - 1 do
if a[i] = a[i + 1] then
a[i] := maxlongint;
t := 0;
for i := 1 to n do
if a[i] <> maxlongint then
t := t + 1;
writeln(t);
j := 1;
for i := 1 to n do
if a[i] <> maxlongint then
begin
b[j] := a[i];
Inc(j);
end;
for i := 1 to j - 2 do
Write(b[i], ' ');
writeln(b[j - 1]);
end. -
02013-10-23 17:54:01@
基数排序
var
a:array[1..1000]of integer;
i,j,n,x,total:integer;
begin
readln(n);
for i:=1 to n do
begin
read(x);
inc(a[x]);
end;
for i:=1 to 1000 do
if a[i]<>0 then
inc(total);
writeln(total);
for i:=1 to 1000 do
if a[i]<>0 then write(i,' ');
end. -
02013-10-06 07:56:02@
var n,i,j,x:longint;
a,ed:array[0..101] of longint;
s:array[-1000..1000] of longint;begin
readln(n);
fillchar(s,sizeof(s),0);
for i:=1 to n do read(a[i]);
x:=n;
for i:=1 to n do
inc(s[a[i]]);
j:=1;
for i:=-1000 to 1000 do if s[i]<>0 then begin
ed[j]:=i;inc(j); end;
writeln(j-1);
for i:=1 to j-1
do write(ed[i],' ');
writeln(chr(8)) ;end.
-
02013-08-12 09:05:33@
Var a:array[0..1000] of longint;
n,i,num:longint;
Procedure qsort(l,r:longint);
Var i,j,x,y:longint;
Begin
i:=l; j:=r;
x:=a[(l+r) shr 1];
Repeat
while x>a[i] do inc(i);
while x<a[j] do dec(j);
if i<=j then
begin
y:=a[i];
a[i]:=a[j];
a[j]:=y;
inc(i); dec(j);
end;
Until i>j;
If i<r then qsort(i,r);
If j>l then qsort(l,j);
End;
Begin
Readln(n);
For i:=1 to n do read(a[i]);
qsort(1,n);
For i:=1 to n do
If a[i]<>a[i-1] then
inc(num);
writeln(num);
For i:=1 to n do
If a[i]<>a[i-1] then
write(a[i],' ');
readln;
End. -
02013-05-29 20:28:40@
用STL是个不错的选择。。。。(误
#include <iostream>
#include <set>
using namespace std;set<int> randoms;
int main()
{
int n, ra;
cin>>n;
while(n--) {
cin>>ra;
randoms.insert(ra);
}
cout<<randoms.size()<<endl;
for(set<int>::iterator i=randoms.begin();
i!=randoms.end();i++) {
cout<<*i<<' ';
}
return 0;
} -
02013-04-14 19:57:39@
const
max=1000000;
var a:array[1..max]of integer;
i,j,k,m,n:integer;
begin
readln(n);
for i:=1 to n do
read(a[i]);
for i:=1 to n-1 do
begin
for j:=i+1 to n do
if a[i]>=a[j] then
begin
k:=a[i]; a[i]:=a[j]; a[j]:=k;
end;
end;
for i:=1 to n-1 do
for j:=i+1 to n do
begin
if a[i]=a[j] then
begin
a[i]:=0;
inc(m);
end;
end;
writeln(n-m);
for i:=1 to n do
if a[i]<>0 then
write(a[i],' ');
readln;
readln
end. -
02013-04-14 19:57:00@
测试数据 #0: Accepted, time = 15 ms, mem = 2680 KiB, score = 10
测试数据 #1: Accepted, time = 23 ms, mem = 2684 KiB, score = 10
测试数据 #2: Accepted, time = 7 ms, mem = 2684 KiB, score = 10
测试数据 #3: Accepted, time = 11 ms, mem = 2680 KiB, score = 10
测试数据 #4: Accepted, time = 23 ms, mem = 2684 KiB, score = 10
测试数据 #5: Accepted, time = 11 ms, mem = 2684 KiB, score = 10
测试数据 #6: Accepted, time = 23 ms, mem = 2684 KiB, score = 10
测试数据 #7: Accepted, time = 15 ms, mem = 2680 KiB, score = 10
测试数据 #8: Accepted, time = 15 ms, mem = 2684 KiB, score = 10
测试数据 #9: Accepted, time = 15 ms, mem = 2684 KiB, score = 10
Summary: Accepted, time = 158 ms, mem = 2684 KiB, score = 100 -
02013-04-12 22:09:06@
var
a,b:array [1..1001] of integer;
i,j,k,l,m,n:longint;
begin
readln(n);
for i:=1 to n do
read(a[i]);
for i:=1 to n-1 do
for k:=i+1 to n do
if a[i]>a[k] then
begin
l:=a[i];
a[i]:=a[k];
a[k]:=l;
end;
j:=1;b[1]:=a[1];
for k:=2 to n do
if a[k]<>b[j] then begin j:=j+1;b[j]:=a[k]end;
writeln(j);
for k:=1 to j do
write(b[k],' ');
writeln;
end. -
02012-11-09 09:57:09@
明日NOIP决赛,见一水题,刷之以应!
点这里查看程序源码+详细题解
-
02012-10-10 20:55:20@
jian dan de pai xu ti
-
02012-08-14 18:22:06@
AVL tree 不错的选择...
-
02012-08-06 00:38:21@
#01: Accepted (418ms, 584KB)
#02: Accepted (430ms, 584KB)
#03: Accepted (160ms, 584KB)
#04: Accepted (160ms, 584KB)
#05: Accepted (153ms, 584KB)
#06: Accepted (149ms, 584KB)
#07: Accepted (145ms, 584KB)
#08: Accepted (145ms, 584KB)
#09: Accepted (164ms, 584KB)
#10: Accepted (164ms, 584KB)Accepted / 100 / 2093ms / 584KB
var i,j,n,m,s:integer;
a:array[1..1001] of integer;
begin
readln(n);
fillchar(a,sizeof(a),0);
for i:=1 to n do
begin
read(j);
inc(a[j]);
end;
m:=0;
for i:=1 to 1001 do if a[i]>0 then inc(m);
writeln(m);
s:=0;
for i:=1 to 1001 do
begin
if a[i]>0 thena
begin
inc(s);
if sm then write(i,' ')
else if s=m then begin writeln(i);break;end;
end;
end;
end.
洪水 -
02010-04-01 21:03:30@
var a:array[1..1000] of word;
i,n,c,t:integer;
begin
readln(n);t:=0;fillchar(a,sizeof(a),0);
for i:=1 to n do begin read(c);if a[c]=0 then inc(t);a[c]:=1;end;
writeln(t);
for i:=1 to 1000 do if a[i]0 then begin write(i);break;end;
for n:=i+1 to 1000 do if a[n]0 then write(' ',n);
end.
绝对水