level 12
话说我今天早上(?)醒来的时候还想准备问你来着
年前基本没时间了 那就年后吧
2014年01月27日 05点01分
2
level 13
表示听从大家的投票吧,既然都选在年后就等年后再说呗
2014年01月27日 09点01分
4
过年以后我就没太多空闲时间了,要不你们帮忙吧。答案已经上线了,批阅的程序也有了,应该可以自己来了吧……
2014年01月27日 09点01分
回复 82111668_2012 :那您能详细说一下程序吗?
2014年01月27日 09点01分
回复 EXPsta :我来了、
2014年01月27日 09点01分
level 14
双击主程序(.exe)即可。
除程序外全部自行批改。
写的程序部分按照说明来批。
小心对系统的破坏。
详情请参见对应部分的程序:
if not(fileexists('1.pas')) then goto 1;
assign(f,'1.pas');
reset(f);
i:=0;
while not(eof(f)) do
begin
read(f,ch);
write(ch);
inc(i);
if ch in ['A'..'Z'] then s[i]:=chr(ord(ch)
+3
2);
end;
for i:=i downto 1 do
begin
if (s[i]+s[i+1]+s[i+2]+s[i+3])='uses' then goto 1;
if (s[i]+s[i+1]+s[i+2])='asm' then goto 1;
if (s[i]+s[i+1]+s[i+2]+s[i+3]+s[i+4]+s[i+5])='assign' then goto 1;
if (s[i]+s[i+1]+s[i+2]+s[i+3])='file' then goto 1;
if (s[i]+s[i+1]+s[i+2]+s[i+3])='text' then goto 1;
if s[i]='''' then goto 1;
if (s[i]+s[i+1])='{$' then goto 1;
end;
close(f);
writeln('RUN it?(Y or N)');
readln(ch);
if ch in ['N','n'] then goto 1;
exec('systemroot\sytem32\cmd.exe','fpc 1.pas');
if not(fileexists('1.exe')) then goto 1;
exec('systemroot\sytem32\cmd.exe','1.bat');
writeln('Beyond the Time?(Y or N)');
readln(ch);
if ch in ['Y','y'] then goto 1;
assign(f1,'1.ans');
reset(f1);
assign(f2,'1.ans_c');
reset(f2);
while not(eof(f2)) do
begin
read(f1,c1);
read(f2,c2);
if c1<>c2 then goto 1;
end;
point:=point+10;
1:
手动评判超时与否(大概超个几秒就算了)。对了,如果发现超时很长时间,Ctrl+C或Ctrl+Break结束。
2014年01月27日 09点01分
10
回复 EXPsta :这个程序应该看得懂吧……
2014年01月27日 10点01分