zoukankan      html  css  js  c++  java
  • NOIP2012国王游戏

    一交A,TAT

    program game;
    
    Type
     gjd=record
       len:longint;
       d:array[0..2000] of longint;
     end;
     
    Var
     n,i:longint;
     a,b:array[0..10002] of longint;
     now,max,q:gjd;
    
    Procedure fopen;
      begin
      assign(input,'game.in');
      assign(output,'game.out');
      reset(input);
      rewrite(output);
    end;
    
    Procedure fclose;
      begin
      close(input);
      close(output);
    end;
    
    Procedure swap(var p,q:longint);
    var
     y:longint;
      begin
      y:=p;
      p:=q;
      q:=y;
    end;
    
    Procedure qsort(l,r:longint);
    var
     i,j,x:longint;
      begin
      i:=l;j:=r;x:=a[(l+r) div 2]*b[(l+r) div 2];
        repeat
        while a[i]*b[i]<x do inc(i);
        while a[j]*b[j]>x do dec(j);
        if i<=j then
          begin
          swap(a[i],a[j]);
          swap(b[i],b[j]);
          inc(i);
          dec(j);
        end;
      until i>j;
      if l<j then qsort(l,j);
      if i<r then qsort(i,r);
    end;
    
    Procedure print(P:gjd);
    var
     i:longint;
      begin
      for i:=p.len downto 1 do
        begin
        if i<>p.len then
          begin
          if p.d[i]<10 then write(0);
          if p.d[i]<100 then write(0);
          if p.d[i]<1000 then write(0);
        end;
        write(p.d[i]);
      end;
    end;
    
    Function more(p,q:gjd):boolean;
    var
     i:longint;
      begin
      if p.len>q.len then exit(true);
      for i:=p.len downto 1 do
        begin
        if p.d[i]>q.d[i] then exit(true);
        if p.d[i]<q.d[i] then exit(false);
      end;
      exit(false);
    end;
    
    Function cheng(p:gjd;q:longint):gjd;
    var
     i,jw:longint;
      begin
      cheng:=p;
      jw:=0;
      for i:=1 to cheng.len do
        begin
        cheng.d[i]:=cheng.d[i]*q+jw;
        jw:=cheng.d[i] div 10000;
        cheng.d[i]:=cheng.d[i] mod 10000;
      end;
      while jw>0 do
        begin
        inc(cheng.len);
        cheng.d[cheng.len]:=jw;
        jw:=cheng.d[cheng.len] div 10000;
        cheng.d[cheng.len]:=cheng.d[cheng.len] mod 10000;
      end;
      while (cheng.len>1) and (cheng.d[cheng.len]=0) do dec(cheng.len);
    end;
    
    Function divide(P:gjd;q:longint):gjd;
    var
     ans:gjd;
     i,jw:longint;
      begin
      ans:=p;
      jw:=0;
      for i:=ans.len downto 1 do
        begin
        ans.d[i]:=(ans.d[i]+jw*10000) div q;
        jw:=(p.d[i]+jw*10000)-ans.d[i]*q;
      end;
      while (ans.len>1) and (ans.d[ans.len]=0) do dec(ans.len);
      exit(ans);
    end;
    
    
      begin
      fopen;
      readln(n);
      for i:=0 to n do
        readln(a[i],b[i]);
      qsort(1,n);
      now.len:=1;
      now.d[1]:=a[0];
      max.len:=1;
      max.d[1]:=0;
      for i:=1 to n do
        begin
        q:=divide(now,b[i]);
        if more(q,max) then max:=q;
        now:=cheng(now,a[i]);
      end;
      print(max);
      fclose;
    end.
    
  • 相关阅读:
    微信小程序 select 下拉框组件
    git 常用操作汇总
    VUE组件 之 Drawer 抽屉
    三、VUE项目BaseCms系列文章:axios 的封装
    C#数据采集用到的几个方法
    Mac环境安装非APP STORE中下载的软件,运行报错:“XXX” is damaged and can’t be opened. You should move it to the Trash. 解决办法
    Mac环境下执行npm install报权限错误解决办法
    VUE组件 之 高德地图地址选择
    Vue-Cli 3.0 中配置高德地图
    二、VUE项目BaseCms系列文章:项目目录结构介绍
  • 原文地址:https://www.cnblogs.com/htfy/p/2781576.html
Copyright © 2011-2022 走看看