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.

Trong kỳ thi học sinh giỏi môn Tin học, em là người đạt giải đặc biệt. Ban tổ chức cho phép em chọn các phần thưởng cho mình. Các phần thưởng xếp thành một dãy được đánh số từ 1 đến N (0 ≤ N ≤ 10000), phần thưởng thứ i có giá trị là ai (1 ≤ ai ≤ 100). Em được phép chọn các phần thưởng cho mình theo nguyên tắc không chọn 3 phần thưởng liên tiếp nhau trong dãy. Em hãy lập chương trình chọn ra các phần...
Đọc tiếp

Trong kỳ thi học sinh giỏi môn Tin học, em là người đạt giải đặc biệt. Ban tổ chức cho phép em chọn các phần thưởng cho mình. Các phần thưởng xếp thành một dãy được đánh số từ 1 đến N (0 ≤ N ≤ 10000), phần thưởng thứ i có giá trị là ai (1 ≤ ai ≤ 100). Em được phép chọn các phần thưởng cho mình theo nguyên tắc không chọn 3 phần thưởng liên tiếp nhau trong dãy. Em hãy lập chương trình chọn ra các phần thưởng sao cho tổng giá trị của các phần thưởng nhận được là lớn nhất.

Dữ liệu: Cho trong file PTHUONG.INP gồm các dòng:

- Dòng đầu tiên là số phần thưởng N.

- Dòng tiếp theo ghi N số ai (1 ≤ i ≤ N).

Kết quả: Ghi ra file PTHUONG.OUT gồm ba dòng:

- Dòng đầu ghi tổng giá trị lớn nhất của các phần thưởng đã chọn và số lượng các phần tử được chọn đó.

- Dòng tiếp theo ghi vị trí của các phần thưởng đã chọn theo thứ tự trong dãy.

- Dòng cuối cùng ghi giá trị của các phần thưởng đã chọn theo thứ tự trong dãy.

Ví dụ:

PTHUONG.INP PTHUONG.OUT

7

6 9 1 3 5 10 4

32 5

1 2 4 6 7

6 9 3 10 4

1
20 tháng 2 2020

uses crt;

type mang= array[0..10000 ] of byte;

var a,d,m:mang; dd:array[1..20,1..400] of byte;

b:array [1..10000] of boolean;

r,dem, t,n,max,i,j:integer;

f:text;

procedure doc;

var i:integer;

begin

assign(f,'pthuong.inp');

reset(f);

readln(f,n);

for i:=1 to n do

readln(f,d[i]);

close(f);

end;

function kt( c:mang):boolean;

var i,j:longint;

q:boolean;

begin

i:=1;

q:=true;

while (i<=r-2) and q do

begin

j:=1;

while c[i+j-1]+1=c[i+j] do

j:=j+1;

if j>=3 then q:=false else q:=true;

i:=i+1;

end;

kt:=q;

end;

Procedure print;

var i,tong: byte;

begin if kt(a)=true then

begin dem:=dem+1;

tong:=0;

for i:=1 to r do

begin

dd[dem,i]:= a[i];

tong:=tong+d[a[i]];

end; m[dem]:=tong;

end;

end;

Procedure Find(k:byte);

var j: byte;

begin

if k>r then print else

begin

for j:=1 to n do

if b[j] and (j>a[k-1]) then

begin

a[k]:=j; b[j]:=false;

Find(k+1);

b[j]:=true;

end;

end;

end;

begin

clrscr;

doc;

dem:=0;

r:= n-(n div 3);

for t:=1 to n do

b[t]:=true; a[0]:=0;

Find(1);

max:=m[1];

for i:=1 to dem do

if max< m[i] then max:=m[i];

assign(f,'PTHUONG.OUT');

rewrite(f);

writeln(f,max);

for i:=1 to dem do

if max=m[i] then

begin

j:=1;

while (dd[i,j] <>0) do

begin

write(f,dd[i,j]:2);

j:=j+1;

end;

end;

close(f);

end.

Bạn tham khảo bộ code này nhé.

21 tháng 2 2020

Cảm ơn nhiều ạ.

8 tháng 1 2017

Gọi \(x,y,z\) là số giải nhất, nhì, kk được trao.

Ta có pt nghiệm tự nhiên \(150000x+130000y+50000z=2700000\).

Thu gọn lại: \(15x+13y+5z=270\)

Và một pt còn lại: \(x+y+z=20\)

Nhân 5 vào pt dưới rồi lấy pt trên trừ pt dưới được \(10x+8y=170\).

Dễ thấy \(y\le20\) mà lại có \(y\) chia hết cho 10 nên \(y=10\) hoặc \(y=20\).

Nếu \(y=10\): Giải được \(x=9,z=1\).

Nếu \(y=20\): Giải được \(x=1,z=-1\) (vô lí).

Vậy có 9 giải nhất, 10 giải nhì, 1 giải kk được trao (cơ cấu giải gì mà quái dị thế?)

8 tháng 1 2017

cho mình hỏi là hình nhử phải là 15x + 13y + 5z = 170 mới đúng chứ. bởi vì 270 là tính luôn cả giải ba mà. phải trừ đi chứ.

31 tháng 7 2023

Đáp án của em là bằng 9

10 tháng 4 2018

- Cấp giấy khai sinh cho em bé

- Tổ chức các hoạt động Khuyến học (khen thưởng học sinh giỏi, trao học bổng cho học sinh nghèo vượt khó…?)

9 tháng 3 2022

1,2,3,4,6

Bạn An đạt giải cao trong kỳ thi Học sinh giỏi Lớp 9. Bố mẹ An thưởng cho An một bộ máy vi tính mới. Để mua bộ máy vi tính hoàn chỉnh cần có đủ 4 thành phần: CPU, màn hình, bàn phím và chuột. Bạn An có thể chọn cho mình nhiều bộ phận từ các nhà sản xuất khác nhau. Ngoài chất lượng sản phẩm thì giá cả là vấn đề bạn An quan tâm.Yêu cầu: Em hãy lập trình để tìm giúp bạn An 2 bộ máy vi tính có giá rẻ nhất...
Đọc tiếp

Bạn An đạt giải cao trong kỳ thi Học sinh giỏi Lớp 9. Bố mẹ An thưởng cho An một bộ máy vi tính mới. Để mua bộ máy vi tính hoàn chỉnh cần có đủ 4 thành phần: CPU, màn hình, bàn phím và chuột. Bạn An có thể chọn cho mình nhiều bộ phận từ các nhà sản xuất khác nhau. Ngoài chất lượng sản phẩm thì giá cả là vấn đề bạn An quan tâm.

Yêu cầu: Em hãy lập trình để tìm giúp bạn An 2 bộ máy vi tính có giá rẻ nhất và đắt nhất để bạn tham khảo.

Dữ liệu vào: đọc từ file VITINH.INP gồm:

- Dòng 1 bắt đầu bằng một số N (1 ≤ N ≤ 103) là số các CPU mà bạn có thể lựa chọn, theo sau là N số nguyên dương không vượt quá 1000 là giá của các CPU;

- 3 dòng tiếp theo ghi giá của màn hình, bàn phím và chuột theo định dạng tương tự dòng 1.

Dữ liệu ra: ghi ra file VITINH.OUT gồm 2 số nguyên trên một dòng cách nhau bởi dấu cách, số thứ nhất là giá rẻ nhất, số thứ hai là giá đắt nhất tìm được.

0
20 tháng 2 2022

tao thi được 1000 điểm nhé

10 tháng 9 2017

9 giải

6 tháng 3 2018

10 học sinh nha bạn !