121 条题解
-
1
吴哥——传奇 LV 8 @ 7 年前
此题奇坑!!!
1.只有0,要输0
2.不只有0,要删0
3.全是0,要输0
4.删光了,要输0 -
07 年前@
-
09 年前@
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
freopen("delete.in","r",stdin);
freopen("delete.out","w",stdout);
int i,lena,j,n,k;
char a[241];
bool b;
scanf("%s%d",a,&n);
lena=strlen(a);
for(k=1;k<=n;k++){
b=0;
for(i=0;i<lena-1;i++){
if(a[i]>a[i+1]){
for(j=i;j<lena-1;j++){
a[j]=a[j+1];
}
lena--;
b=1;
break;
}
}
if(!b){
lena--;
}
}
i=0;
while(i<lena){
if(a[i]=='0'){
i++;
}
else{
break;
}
}
if(i==lena){
printf("0");
return 0;
}
for(j=i;j<lena;j++){
printf("%c",a[j]);
}
return 0;
} -
09 年前@
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
int i,lena,j,n,k;
char a[241];
bool b;
scanf("%s%d",a,&n);
lena=strlen(a);
for(k=1;k<=n;k++){
b=0;
for(i=0;i<lena-1;i++){
if(a[i]>a[i+1]){
for(j=i;j<lena-1;j++){
a[j]=a[j+1];
}
lena--;
b=1;
break;
}
}
if(!b){
lena--;
}
}
i=0;
while(i<lena){
if(a[i]=='0'){
i++;
}
else{
break;
}
}
if(i==lena){
printf("0");
return 0;
}
for(j=i;j<lena;j++){
printf("%c",a[j]);
}
return 0;
} -
011 年前@
var s,i:longint;
n:string;
begin
readln(n);
readln(s);
while s>0 do
begin
i:=1;
while (i<length(n)) and (n[i]<=n[i+1]) do
i:=i+1;
delete(n,i,1);
s:=s-1;
end;
while (length(n)>1) and (n[1]='0') do delete(n,1,1);
writeln(n);
end. -
011 年前@
测试数据 #0: Accepted, time = 0 ms, mem = 468 KiB, score = 10
测试数据 #1: Accepted, time = 23 ms, mem = 468 KiB, score = 10
测试数据 #2: Accepted, time = 0 ms, mem = 464 KiB, score = 10
测试数据 #3: Accepted, time = 0 ms, mem = 464 KiB, score = 10
测试数据 #4: Accepted, time = 0 ms, mem = 468 KiB, score = 10
测试数据 #5: Accepted, time = 0 ms, mem = 468 KiB, score = 10
测试数据 #6: Accepted, time = 0 ms, mem = 468 KiB, score = 10
测试数据 #7: Accepted, time = 0 ms, mem = 464 KiB, score = 10
测试数据 #8: Accepted, time = 0 ms, mem = 460 KiB, score = 10
测试数据 #9: Accepted, time = 0 ms, mem = 464 KiB, score = 10
Accepted, time = 23 ms, mem = 468 KiB, score = 100
尼玛,,,0也算在内。。。。。。
0开头就忽略。。。。。
只有0又要输出。。。。。
#include<cstdio>
#include<cstdlib>
#include<cstring>
using namespace std;
int main(){
int k,n,i;
char num[1010];
gets(num);n=strlen(num);
scanf("%d",&k);
if(n==k) {printf("0");return 0;}
for(i=1;i<=k;i++){
int q,t=-20;
for(q=0;q<=n;q++){
if(t<=num[q]-'0') t=num[q]-'0';
else {
for(int w=q-1;w<=n;w++) num[w]=num[w+1];
n--;
break;
}
}
if(t<1) n--;
}
for(i=0;i<n;i++) if(num[i]-'0'>0) break;
if(i<=n-1) for(;i<n;i++) printf("%c",num[i]);
else {printf("0");return 0;}
return 0;
} -
011 年前@
var
chr:array[0..299]of string;
n,i,j,a,x,uu,code:integer;
w:string;
Begin
a:=0;
w:='0';
readln(chr[0]);
uu:=length(chr[0]);
for i:=1 to uu do
chr[i]:=copy(chr[0],i,1);readln(n);
repeat
for i:=1 to uu do
if chr[i]>w then begin w:=chr[i]; x:=i end;
delete(chr[x],1,1);
a:=a+1;
w:='0';until a=n;
for i:=1 to uu do
write(chr[i]);
End.这题我在电脑上验证了好几个数据都是对的,咋WA了呢
-
012 年前@
暴力的比较超了两个点
var
s,ss:string;
n,i:integer;
function del(s:string;i,j:integer):string;
begin
delete(s,i,j);
del:=s;
end;
begin
readln(s);
readln(n);
while n>0 do begin
ss:=del(s,1,1);
for i:=2 to length(s) do
if ss>del(s,i,1) then ss:=del(s,i,1);
s:=ss;
dec(n);
end;
while s[1]='0' do delete(s,1,1);
writeln(s);
end. -
015 年前@
汗,我做过的第一道贪心题。
意思是:有一个数字,如178543,删掉n个数字,使剩下的数最小。 -
015 年前@
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms1006个。。。
-
015 年前@
1005个,险些1000
可惜了
- -|||
-
015 年前@
program sswt;
var
n:string;
s,i,j:integer;
begin
readln(n);
readln(s);
for i:=1 to s do
begin
j:=1;
while (length(n)>j)and(n[j]1)and(n[1]='0') do delete(n,1,1);
writeln(n);
end. -
015 年前@
program t1414(input,output);
var str1:string;
i,xx,n:longint;
begin
readln(str1);
readln(n);
for xx:=1 to n do
begin
i:=1;
while (str1[i] -
015 年前@
偶竟然看不懂
-
015 年前@
...
英语题+水题
注意。。
题目多处表述不清。。
1:可以删1-9。(还可以删0);
2:可以有前导的0,但是在输出时不输出。。但只有0时就输出0。例1:
10023
3例2:
10023
23
-
015 年前@
鄙人英语巨烂
根本看不懂
orz出题人
把我整得这么惨 这么水的题目
惟一看懂的就是 number in【1..9】结果还有0 够黑
害的我还以为是所求的数最小 弄了个dp也能得20分 orz数据真好!!!!!
以后出题给个中文翻译 叫人怎么做啊 -
015 年前@
原来ac和10分之间,只差一个等号。。。
-
015 年前@
脑子短路了。。这么简单的题目都要交两遍
居然把 i 和 j弄混了 -
015 年前@
感谢题解!
var i,j,n,m,k,l,o,p:longint;
q,w,e:string;
begin
readln(q);
readln(n);
while n>0 do
begin
i:=1;
while (q[i] -
015 年前@
无输出等于超时?无语……