Skip to content
Narrow screen resolution Wide screen resolution Auto adjust screen size Increase font size Decrease font size Default font size default color grey color
         
 | 
VNOI - Olympic tin học Việt Nam

Điểm tin VOJ

Số thành viên:6040
Số bài tập:1001
Số bài nộp:722923
Bài nộp hôm nay:0

Top 10 thành viên xuất sắc

HạngThành viênĐiểm
1mr_invincible587.9
2white_cobra418.6
3hieult403.4
4phaleq384.0
5vodanh9x368.2
6con_nha_ngheo352.0
7flash_mt350.2
8darksabers349.8
9yenthanh132345.3
10rockman9x_94343.1

Danh tiếng các thành viên

HạngThành viênĐiểm
1mr_invincible+213
2conankudo+149
3khuc_tuan+137
4tuananhnb93+129
5khanhptnk+108
6hphong+103
7flash_mt+99
8paulmcvn+71
9technolt+70
10hoangle+63

Topcoder Vietnam

HạngThành viênĐiểm
Diễn đàn
Forum
Trả lời: MOVIES (1 đang xem) ,(1) Khách
Bài viết dưới cùng Gửi trả lời Được ưa thích: 0
CHỦ ĐỀ - Trả lời: MOVIES
#70479
thitgaluoc (Thành viên)
thitgaluoc-
Đã biết code đệ quy
Bài viết: 14
graphgraph
Thành viên gián tuyến Click vào đây để xem thông tin về thành viên này
MOVIES 8 năm trước   (+0)
mọi người cho em hỏi bài này em sai ở test nào ạ.

em sắp xếp lại các phần tử trong một hàng lại rồi kiểm tra xem khoảng cách giữa hai pt liên tiếp có >2 ko, nếu có thì cộng vào res, trước đó res = (m - 1) * (n - số hàng toàn ghế trống)

nhân tiện cho em hỏi input các hàng có được cho theo thứ tự ko ạ ?
đây là code của em ạ, cảm ơn mọi người.

Code:
{$MODE OBJFPC}
const
  fi = 'movies.inp';
  fo = 'movies.out';
  maxm = 50;
type
  arr = array[0..maxm] of integer;
  data = record
    gt : integer;
    sl : integer;
    ch : arr;
    end;
var
  s : ansistring;
  ip, op : text;
  m, n, res : int64;
  ca : integer;
  a : array[0..maxm] of data;
  lt : arr;
 
procedure input;
var
  t : ansistring;
  sh, kt, i, j, xd1, xd2, v : integer;
begin
  readln(ip,n);
  readln(ip,m);
  readln(ip,t);
  xd1 := 0;
  for i := 1 to maxm do
    begin
      a[i].gt := 0;
      a[i].sl := 0;
      for j := 0 to maxm do
        a[i].ch[j] := 0;
    end;
  ca := 0;
  a[0].gt := -1;
  while not eof(ip) do
    begin
      readln(ip,t);
      if t = '>>' then break;
      inc(xd1);
      val(t,sh,kt);
      if sh = a[ca].gt then
        inc(a[ca].sl)
      else
        begin
          inc(ca);
          inc(a[ca].sl);
          a[ca].gt := sh;
        end;
    end;
  readln(ip,t);
  xd2 := 0;
  v := 1;
  for i := 1 to xd1 do
    begin
      readln(ip,sh);
      inc(xd2);
      a[v].ch[xd2] := sh;
      if xd2 = a[v].sl then
        begin
          inc(v);
          xd2 := 0;
        end;
    end;
  readln(ip,t);
end;
 
procedure swap(var x,y : integer);
var
  temp : integer;
begin
  temp := x;
  x := y;
  y := temp;
end;
 
procedure sort(var m:arr; l,r : integer);
var
  i, j, x : integer;
begin
  if l>=r then exit;
  i := l;
  j := r;
  x := m[(l+r) div 2];
  repeat
    while m[i]<x do i := i+1;
    while x<m[j] do j := j-1;
    if i<=j then
      begin
        swap(m[i],m[j]);
        i := i+1;
        j := j-1;
      end;
  until (i>j);
  sort(m,l,j);
  sort(m,i,r);
end;
 
procedure solve;
var
  i, j, l : integer;
  temp : int64;
begin
  res := (n - ca) * (m - 1);
  for i := 1 to ca do
    begin
      lt := a[i].ch;
      l := a[i].sl;
      sort(lt,1,l);
      lt[0] := 0;
      lt[l+1] := m+1;
      for j := 1 to l+1 do
        begin
          temp := lt[j] - lt[j-1] - 2;
          if temp > 0 then
            res := res + temp;
        end;
    end;
  writeln(op,res);
end;
 
procedure process;
begin
  while not eof(ip) do
    begin
      readln(ip,s);
      if  s = '[END]' then break;
      if  s = '[CASE]' then
        begin
          input;
          solve;
        end;
    end;
end;
 
begin
  assign(ip,fi); reset(ip);
  assign(op,fo); rewrite(op);
  process;
  close(ip);
  close(op);
end.
 
 
Đã lưu IP Đã lưu IP  
  Đã khóa chức năng gửi bài.
#70525
thitgaluoc (Thành viên)
thitgaluoc-
Đã biết code đệ quy
Bài viết: 14
graphgraph
Thành viên gián tuyến Click vào đây để xem thông tin về thành viên này
Trả lời: MOVIES 8 năm trước   (+0)
mọi người cho em hỏi với ạ.
 
Đã lưu IP Đã lưu IP  
  Đã khóa chức năng gửi bài.
Bài viết trên cùng Gửi trả lời
Powered by FireBoardBài viết mới nhất từ diễn đàn cho các chương trình nhận tin RSS