K
Khách

Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.

Bài 4: Một nhóm gồm n bạn học sinh của một lớp tham gia một câu lạc bộ tin học vào dịp nghỉ hè. Biết rằng khoảng thời gian mà bạn thứ i có mặt tại câu lạc bộ là [ai, bi] (ai<bi tương ứng là các thời điểm đến và rời khỏi câu lạc bộ). Cô giáo chủ nhiệm lớp muốn tới thăm các bạn trong nhóm này. Hãy giúp cô giáo chủ nhiệm xác định thời điểm đến câu lạc bộ sao cho tại thời...
Đọc tiếp

Bài 4: Một nhóm gồm n bạn học sinh của một lớp tham gia một câu lạc bộ tin học vào dịp nghỉ hè. Biết rằng khoảng thời gian mà bạn thứ i có mặt tại câu lạc bộ là [ai, bi] (ai<bi tương ứng là các thời điểm đến và rời khỏi câu lạc bộ). Cô giáo chủ nhiệm lớp muốn tới thăm các bạn trong nhóm này. Hãy giúp cô giáo chủ nhiệm xác định thời điểm đến câu lạc bộ sao cho tại thời điểm đó cô giáo có thể gặp được nhiều bạn trong nhóm nhất.

Dữ liệu: Vào từ file văn bản MEETING.INP:

· Dòng đầu tiên ghi số nguyên dương n (n < 1000);

· Dòng thứ i trong số n dòng tiếp theo ghi 2 số nguyên không âm ai, bi , i = 1, 2, ..., n.

Kết quả: Ghi ra file văn bản MEETING.OUT:

· Dòng đầu tiên ghi số nguyên dương k là số lượng bạn đang có mặt ở câu lạc bộ tại thời điểm cô giáo đến;

· Trong k dòng tiếp theo ghi chỉ số của k bạn có mặt ở câu lạc bộ tại thời điểm cô giáo đến, mỗi dòng ghi một chỉ số của một bạn.

MEETING.INP MEETING.OUT MEETING.INP MEETING.OUT

6

1 2

2 3

2 5

5 7

6 7

9 11

3

1

2

3

5

1 2

3 5

7 9

11 15

17 21

1

1

0
THÔNG BÁO MỞ ĐĂNG KÍ CUỘC THI TIN HỌC LẦN 2 Được sự đồng ý của hội đồng hoc24.vn, mình xin được tổ chức cuộc thi Tin Học lần 2 nhằm tạo thêm một sân chơi thật bổ ích trong trang. - Đối tượng tham gia: Không giới hạn về số lượng đăng ký, không giới hạn về số GP hay SP cần đạt được để tham gia, là cuộc thi dành cho khối THCS có hiểu biết về ngôn ngữ lập trình Pascal từ lớp...
Đọc tiếp

THÔNG BÁO MỞ ĐĂNG KÍ CUỘC THI TIN HỌC LẦN 2

Được sự đồng ý của hội đồng hoc24.vn, mình xin được tổ chức cuộc thi Tin Học lần 2 nhằm tạo thêm một sân chơi thật bổ ích trong trang.

- Đối tượng tham gia: Không giới hạn về số lượng đăng ký, không giới hạn về số GP hay SP cần đạt được để tham gia, là cuộc thi dành cho khối THCS có hiểu biết về ngôn ngữ lập trình Pascal từ lớp 8 trở lên(các bạn lớp 6-7 cũng có thể tham gia nếu có hiểu biết về Pascal).

- Thể lệ và luật thi:

*Mỗi bài thi có tối đa 20 điểm, trong mỗi vòng thi chỉ được sử dụng 1 tài khoản duy nhất.

*Có 2 vòng thi:

-Vòng 1: vòng loại, dự kiến diễn ra từ 8h ngày 7/8/2020 đến hết ngày 10/8/2020-chọn ra 8 bạn có điểm số cao nhất được đi tiếp vào vòng 2.

-Vòng 2: vòng chung kết, dự kiến diễn ra từ 8h ngày 12/8/2020 đến hết ngày 16/8/2020-chọn ra 3-4 bạn có điểm số cao nhất nhận giải thưởng

* Giải thưởng:

-Thành viên qua được vòng 1: +5GP.

-Vòng 2:

+Giải đặc biệt(1 giải): Thưởng 500GP dành cho 1 bạn duy nhất được 20 điểm ở cả hai vòng(nếu không có bạn nào thỏa mãn được điều kiện này thì không có giải đặc biệt)

+Giải nhất(1 giải): Thưởng 100GP

+Giải nhì(1 giải): Thưởng 50GP

+Giải ba(1 giải): Thưởng 30GP

*Đăng kí: điền luôn thông tin trong bài làm vòng 1, không cần bình luận vào bài viết dưới đây.

CÁCH THỨC ĐĂNG KÍ (KHI ĐIỀN TRONG BÀI THI):

@ Họ và tên: ……………………………. [VD: Nguyễn Văn A]

@ Lớp (năm học 2019-2020): ……………………….. [VD: 8]

Chúc các bạn có sự chuẩn bị tốt nhất trong các vòng thi.

0

em có đọc kỹ thông tin ở trên không vậy?

Đăng kí vào bài làm

Ghi thông tin cá nhân của mình vào trên cùng bài làm

29 tháng 7 2020

Hình như 2 vòng đó bạn

Câu 1 (6,0 điểm): Tính giá trị Nhập vào 2 số nguyên dương N và M. Yêu cầu: Tính tổng M các số tận cùng của N. Dữ liệu vào: Cho trong file văn bản CAU1.INP, có cấu trúc như sau: - Dòng 1: Ghi số nguyên dương N. - Dòng 2: Ghi số nguyên dương M (M≤ N) . Dữ liệu ra: Ghi ra file văn bản CAU1.OUT, theo cấu trúc như sau: - Ghi kết quả tổng của M số tận cùng của N. Ví...
Đọc tiếp

Câu 1 (6,0 điểm): Tính giá trị

Nhập vào 2 số nguyên dương N và M.

Yêu cầu: Tính tổng M các số tận cùng của N.

Dữ liệu vào: Cho trong file văn bản CAU1.INP, có cấu trúc như sau:

- Dòng 1: Ghi số nguyên dương N.

- Dòng 2: Ghi số nguyên dương M (M≤ N) .

Dữ liệu ra: Ghi ra file văn bản CAU1.OUT, theo cấu trúc như sau:

- Ghi kết quả tổng của M số tận cùng của N.

Ví dụ:

CAU1.INP

CAU1.OUT

34562

2

8

Câu 2 (7,0 điểm): Tìm số

Dãy các số tự nhiên được viết ra thành một dãy vô hạn trên đường thẳng:

1234567891011121314..... (1)

Yêu cầu: Viết chương trình yêu cầu nhập số K và in lên tệp CAU2.OUT kết quả là số nằm ở vị trí thứ K trong dãy (1) ở trên và số đó thuộc vào số nào?

Dữ liệu vào: Cho trong file văn bản CAU2.INP, có cấu trúc như sau:

- Ghi số nguyên dương K

Dữ liệu ra: Ghi ra file văn bản CAU2.OUT, theo cấu trúc như sau:

- Trên 1 dòng in kết quả số ở vị trí K và số chứa số đó cách nhau ít nhất một dấu cách.

Ví dụ:

CAU2.INP

CAU2.OUT

15

2 12

Câu 3 (7,0 điểm): Đếm ký tự

Cho một văn bản gồm N dòng. Các ký tự được lấy từ tập các chữ cái và chữ số.

Yêu cầu: Tìm số lượng ký tự của dòng ngắn nhất, số lượng ký tự của dòng dài nhất và số lượng ký tự của văn bản.

Dữ liệu vào: Cho trong file văn bản CAU3.INP, có cấu trúc như sau:

- Dòng 1: Ghi số nguyên dương N là số dòng của văn bản (1 ≤ N ≤ 100).

- N dòng tiếp theo: Mỗi dòng ghi một xâu gồm L ký tự (0 < L < 255).

Dữ liệu ra: Ghi ra file văn bản CAU3.OUT, theo cấu trúc như sau:

- Dòng 1: Ghi 3 số nguyên dương x y z. Trong đó: x là số lượng ký tự của dòng ngắn nhất; y là số lượng ký tự của dòng dài nhất, z là số lượng ký tự của văn bản. Các số được ghi cách nhau ít nhất một dấu cách.

Ví dụ:

CAU3.INP

CAU3.OUT

3

ThiHSG09

Nam2015

Vong1

5 8 20

4
5 tháng 9 2019

cau1

uses crt;
const
fi='CAU1.inp';
fn='CAU1.out';
var n: string;
f:text;
m,i,a,tong: integer;
BEGIN
clrscr;
assign(f,fi);reset(f);
read(f,n);
read(f,m);
close(f);
assign(f,fn);rewrite(f);
for i:= length(n) downto length(n)-m+1 do
begin
val(n[i],a);
tong:=tong+a;
end;
write(f,tong);
close(f);
readln;
END.

cau3

uses crt;
const
fi='CAU1.inp';
fn='CAU1.out';
var n: string;
f:text;
m,i,a,tong: integer;
BEGIN
clrscr;
assign(f,fi);reset(f);
read(f,n);
read(f,m);
close(f);
assign(f,fn);rewrite(f);
for i:= length(n) downto length(n)-m+1 do
begin
val(n[i],a);
tong:=tong+a;
end;
write(f,tong);
close(f);
readln;
END.

6 tháng 9 2019

Câu 2:

*Ý tưởng :

+ Ý 1:

- Bạn không cần chạy đến vô hạn như đề cho đầu , bạn chỉ cần 1 vòng for chạy đến k là được bởi vì nó lấy kí tự thứ k.

- Bạn cho 1 vòng for chạy đến k và chuyển dãy số đó sang xâu và cho 1 biến đếm vào

- Nếu biến đếm bằng với k thì write(s[d]);

+ Ý 2:

- Các số có 1 chữ số chỉ có từ 1 đến 9. Nên nếu d<9 thì write(s[d]);

- Nếu mà d>9 và d là số lẻ thì write(s[d-1],s[d]) ngược là nếu d là số chẵn thì write(s[d],s[d+1]);

Đây là ý tưởng , nếu bạn không hiểu chỗ nào cứ hỏi mình , bạn làm theo ý tưởng mình xem nhé. Nếu không được mình sẽ gửi bài làm của mình cho bạn xem.

Dữ liệu vào: standard input Dữ liệu ra: standard output Giới hạn thời gian: 1.0 giây Giới hạn bộ nhớ: 512 megabyte Trò chơi ô ăn quan chắc có lẽ thế hệ 8x, 9x không ai không từng chơi. Huy nghĩ ra cách chơi mới như...
Đọc tiếp
Dữ liệu vào: standard input Dữ liệu ra: standard output Giới hạn thời gian: 1.0 giây Giới hạn bộ nhớ: 512 megabyte Trò chơi ô ăn quan chắc có lẽ thế hệ 8x, 9x không ai không từng chơi. Huy nghĩ ra cách chơi mới như sau: Trò chơi gồm có 3 luật chơi:
- Luật 1: 1 x y w: rải vào các ô từ ô x đến ô y tăng thêm một lượng sỏi là w
- Luật 2: 2 x y w: bốc đi một lượng sỏi là w trong các ô từ ô x đến ô y (Số sỏi trên các ô có thể < 0).
Sẽ có m cách chơi thuộc 1 trong 2 luật này và được đánh số từ 1 đến m:
- Luật 3: 3 x y: áp dụng các luật (trong m luật loại 1 và 2) từ x đến y một lần.
Sẽ có k cách chơi thuộc luật 3 này được viết trên các thẻ bài, mỗi lượt chơi người chơi sẽ chọn 1 trong k thẻ bài này. Sau khi kết thúc k lượt chơi, 2 người chơi sẽ đưa ra 2 dự đoán. Mỗi dự đoán có dạng: x y s – tức người chơi đó sẽ đoán tổng lượng sỏi trong các ô từ x đến ô y là s. Người chơi nào có số dự đoán gần với tổng của đoạn (thấp hơn hoặc cao hơn tổng của đoạn) mà mình đưa ra sẽ giành chiến thắng.
Quả là một cuộc đấu cân não. Bạn hãy giúp Huy quyết định ai sẽ là người chiến thắng.
Dữ liệu nhập:
- Dòng 1 là 3 số nguyên n,m,k (1 ≤ n, m, k ≤ 105)
- Dòng 2 là số lượng sỏi ban đầu có trong n ô quan: A1, A2, …, An. ( 0 ≤ Ai ≤ 106)
- m dòng tiếp theo là m cách chơi thuộc vào luật 1 hoặc 2.
- k dòng tiếp theo là k cách chơi theo luật 3.
- 2 dòng tiếp theo là 2 dự đoán của Sắn và Mì: x y s (1 ≤ x,y ≤ N; |s| ≤ 1018)
Kết quả:
- Gồm một dòng duy nhất, ghi “SAN WIN” nếu sắn thắng, ghi “MI WIN” nếu mì thắng, ghi “HOA” nếu hòa.
1
15 tháng 11 2019

bài siêu khó cho bạn nào có đi thi hsg

5 tháng 10 2019

Gợi ý:

Đánh số thứ tự các ô vuông . Đánh dấu các số liền nhau 1 đơn vị là False . Sau đó với các trường hợp còn lại là True thì đếm.

5 tháng 10 2019

Bạn có thể cho mình một ví dụ được không?

1 tháng 2 2020

#include <iostream>
#include <fstream>

using namespace std;

long int x[4],n,a[5001],kt[5001],ktvt[5001],MAXtong,dem=0;

int TRY(int i)
{
for(int j=x[i-1]+1;j<=n;j++)
if(kt[a[j]]==0)
{
x[i]=j;
kt[a[j]]=1;
if(i==3)
{

if(a[x[3]]==(float)(a[x[2]]+a[x[1]])/2||a[x[2]]==(float)(a[x[3]]+a[x[1]])/2||a[x[1]]==(float)(a[x[2]]+a[x[3]])/2)
{
dem++;
if(a[x[1]]+a[x[2]]+a[x[3]]>MAXtong)
{
MAXtong=a[x[1]]+a[x[2]]+a[x[3]];
}
}

}
else
TRY(i+1);
kt[a[j]]=0;
}
}
int main()
{
ifstream f("boba.inp");
f>>n;
for(int i=1;i<=n;i++)
{
f>>a[i];
}
x[0]=0;
MAXtong=-1000000000;
fill_n(kt,1001,0);
TRY(1);
cout<<dem<<endl;
if(dem>0)
{
cout<<MAXtong;
}
return 0;
}

Mình mới đạt tới trình độ quy hoạch động nên bạn thông cảm

Xin lỗi bạn, mình không hỗ trợ C. mình chỉ biết pascal thôi

const fi='tamhop.inp';
fo='tamhop.out';
var f1,f2:text;
a:array[1..100]of integer;
n,i,j,k,dem,max,t:integer;
begin
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
readln(f1,n);
for i:=1 to n do
read(f1,a[i]);
{--------------------------------xu-ly--------------------------------}
dem:=0; max:=0;
for i:=1 to n-2 do
begin
for j:=i+1 to n-1 do
begin
for k:=j+1 to n do
begin
if (a[i]=(a[j]+a[k])/2) or (a[j]=(a[i]+a[k])/2) or (a[k]=(a[i]+a[j])/2) then
begin
inc(dem);
t:=a[i]+a[j]+a[k];
if max<=t then max:=t;
end;
end;
end;
end;
writeln(f2,dem);
writeln(f2,max);
close(f1);
close(f2);
end.

const fi = 'CHIAHETK.INP';

fo = 'CHIAHETK.OUT';

MAXN = 10000;

MAXW = 1000;

oo = MAXINT div 2;

var f: text; n: integer;

k: integer;

a: array[1..MAXN] of integer;

L: array[0..MAXN, 0..MAXW] of integer;

procedure Nhap;

var i: integer;

begin

assign(f, fi); reset(f);

readln(f, n, k);

for i:= 1 to n do

read(f, a[i]);

close(f);

end;

function max(a, b: integer): integer;

begin

if a > b then exit(a)

else exit(b);

end;

function dongduduong(s: integer): integer;

begin

s:= s mod k; // -(k-1)..0..k-1

if s >= 0 then exit(s)

else exit(s + k);

end;

procedure QHD;

var i, j: integer;

begin

// Goi L[i, v] la do dai cua day con dai nhat co tong chia k du v

for j:= 0 to k-1 do

if j = dongduduong(a[1]) then L[1, j]:= 1

else L[1, j]:= -oo;

for i:= 2 to n do

for j:= 0 to k-1 do

L[i, j]:= max(1 + L[i-1, dongduduong(j-a[i])], L[i-1, j]);

end;

procedure TruyVet(i, j: integer);

begin

if i = 0 then exit;

if L[i, j] = 1 + L[i-1, dongduduong(j-a[i])] then

// Chon do vat thu i

begin

TruyVet(i-1, dongduduong(j-a[i]));

write(f, a[i], ' ');

end

else

// Khong chon do vat thu i

TruyVet(i-1, j);

end;

procedure InKQ;

var i, j:integer;

begin

assign(f, fo); rewrite(f);

writeln(f, L[n, 0]);

TruyVet(n, 0);

close(f);

end;

BEGIN

Nhap;

QHD;

InKQ;

END.

30 tháng 6 2021

program SEQ11;

var n,k,s,dem,max:qword;

a:array[1..10000000] of qword;

i,j:longint;

begin

readln(n,k);

for i := 1 to n do read(a[i]);

max := 0; i := 1;

repeat 

s := 0;

dem := 0;

for j := i to n do 

begin 

s := s+a[j];

inc(dem);

if s mod k = 0 then 

if max < dem then max := dem;

end;

inc(i);

until i = n;

write(max);

end.

HÀNG CÂY. Cổng vào Trung tâm thanh thiếu nhi có một hàng cây gồm N cây cảnh. Hàng cây được đánh số từ 1 đến N tính từ ngoài vào trong. Ban quản lí Trung tâm đã đo được cây thứ i có độ cao là hi. Để cho đẹp, hàng cây phải có độ cao tăng dần tính từ ngoài cổng vào (cây phía ngoài phải thấp hơn cây phía trong). Vì vậy, Ban quản lí Trung tâm quyết định chặt bỏ đi những cây có độ cao...
Đọc tiếp

HÀNG CÂY.

Cổng vào Trung tâm thanh thiếu nhi có một hàng cây gồm N cây cảnh. Hàng cây được đánh số từ 1 đến N tính từ ngoài vào trong. Ban quản lí Trung tâm đã đo được cây thứ i có độ cao là hi. Để cho đẹp, hàng cây phải có độ cao tăng dần tính từ ngoài cổng vào (cây phía ngoài phải thấp hơn cây phía trong). Vì vậy, Ban quản lí Trung tâm quyết định chặt bỏ đi những cây có độ cao không phù hợp và giữ nguyên vị trí các cây còn lại để được một hàng cây có độ cao tăng dần.

Yêu cầu: Tìm cách loại bỏ đi một số cây sao cho số cây còn lại là nhiều nhất và hàng cây có độ cao tăng dần.

Dữ liệu vào: Cho trong file văn bản HANGCAY.INP, có cấu trúc:

- Dòng 1: Ghi số nguyên dương N, là số lượng cây ban đầu trong hàng cây (1≤N≤100)

- Dòng 2: Ghi N số nguyên dương hi (1 ≤ hi ≤ 32767) lần lượt là độ cao của cây thứ i trong hàng cây, tính từ ngoài cổng vào. Các số được ghi cách nhau ít nhất một dấu cách.

Dữ liệu ra: Ghi ra file văn bản HANGCAY.OUT, theo cấu trúc:

- Dòng 1: Ghi số nguyên dương M, là số lượng cây còn lại trong hàng cây sau khi loại bỏ.

- Dòng 2: Ghi M số nguyên dương là chỉ số của mỗi cây còn lại trong hàng cây sau khi loại bỏ. Các số phải được ghi cách nhau ít nhất một dấu cách.

Ví dụ:

HANGCAY.INP

HANGCAY.OUT

5

5 8 3 4 9

3

1 2 5

2
27 tháng 3 2020

const fi='nix.inp';
fo='nix.out';
var
f:text;
j,i,n,max:0..100;
a,b,l,m: array [0..101] of integer;
procedure ip;
begin
assign(f,fi);
reset(f);
readln(f,n);
for i:= 1 to n do
read(f,a[i]);
close(f);
end;
procedure out;
begin
assign(f,fo);
rewrite(f);
for i:= 0 to n do
l[i] := 1;
for i:= 1 to n do
for j:= i to n do
if (a[j] > a[i] ) and (l[j] < l[i] + 1 ) then
begin
l[j] := l[i] + 1;
m[j]:= i;
end;
max:=0;
for i:= 1 to n do
if l[i] > max then
begin
j:=i;
max:=l[i];
end;
while m[j] <> 0 do
begin
l[j]:=-l[j];
j:=m[j];
end;
l[j]:=-l[j];
for i:= 1 to n do
if l[i] < 0 then write(f,i,' ');

close(f);
end;
BEGIN
ip;
out;
END.

bạn cho thêm vài ví dụ nữa đi