ex.dpr

来自「tongji acm-online judge solution」· DPR 代码 · 共 55 行

DPR
55
字号
program Ural_1406(Input,Output);
const
	MaxLen=2000;
type
	TIndex=Longint;
	TData=array[0..MaxLen]of Char;
var
	Len:TIndex;
	D:TData;
procedure Main;
label
	Error;
var
	i,j,k:TIndex;
	Temp:Char;
begin
	//Read Data
	Len:=0;
	while not Eoln do
	begin
		Inc(Len);
		Read(D[Len]);
	end;
	//Find first non-zero digit from right
	i:=Len;
	while (D[i]='0') and (i>0) do Dec(i);
	if i=0 then goto Error;
	Temp:=D[i];
	D[i]:='0';
	//Find first non-nine digit from i
	j:=i-1;
	while (D[j]='9') and (j>0) do 
	begin
		D[j]:='0';
		Dec(j);
	end;
	if j=0 then goto Error;
	//Change Value
	Inc(D[j]);
	Dec(Temp);
	for k:=1 to i-j-1 do
		D[Len-k+1]:='9';
	D[Len-(i-j)+1]:=Temp;
	//Output
	for k:=1 to Len do
		Write(D[k]);
	Writeln;
	Exit;
	//Error
	Error:
		Writeln(-1);
end;
begin
	Main;
end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?