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.

Cho một bảng các ô vuông đơn vị có kích thước nxm (n, m ≤ 100; n số hàng, m số cột của bảng). Trên mỗi ô vuông đơn vị chứa các số nguyên dương. Yêu cầu: Hãy tìm ở bảng trên hai hình chữ nhật (có thể giao nhau nhưng không trùng khít lên nhau) có kích thước pxq (p<n; q<m; p là số hàng, q là số cột của hai hình chữ nhật con) sao cho tổng của tất cả các số trên hai hình chữ nhật là lớn nhất. Dữ liệu vào: File tên...
Đọc tiếp

Cho một bảng các ô vuông đơn vị có kích thước nxm (n, m ≤ 100; n số hàng, m số cột của bảng). Trên mỗi ô vuông đơn vị chứa các số nguyên dương.

Yêu cầu: Hãy tìm ở bảng trên hai hình chữ nhật (có thể giao nhau nhưng không trùng khít lên nhau) có kích thước pxq (p<n; q<m; p là số hàng, q là số cột của hai hình chữ nhật con) sao cho tổng của tất cả các số trên hai hình chữ nhật là lớn nhất.

Dữ liệu vào: File tên HCN.OUT

- Dòng 1 ghi bốn số n, m, p, q được ghi cách nhau bởi dấu cách.

- n dòng tiếp theo, mỗi dòng ghi m số nguyên dương và cách nhau bởi dấu cách.

Dữ liệu ra: File HCN.OUT, chứa 1 dòng ghi một số nguyên duy nhất S là diện tích lớn nhất cần tìm.

HCN.INP

HCN.OUT

4 7 3 3

1 2 3 1 1 3 4

5 3 1 4 0 1 2

4 6 3 4 7 1 1

9 3 8 10 0 1 0

84

Ví dụ:

1

2

3

1

1

3

4

5

3

1

4

0

1

2

4

6

3

4

7

1

1

9

3

8

10

0

1

0

1
1 tháng 5 2020

var n,m,i,j,p,q,k,tam:byte;
a:array[1..100,1..100] of integer;
b:array[1..10000] of integer;
f:text;
function tong(x,y:integer):integer;
var i,j:integer;
begin
tong:=0;
for i:=x to x+p-1 do
for j:=y to y+q-1 do
tong:=tong+a[i,j];
exit(tong);
end;
begin
assign(f,'HCN.inp');reset(f);
readln(f,n,m,p,q);
for i:=1 to n do
begin
for j:=1 to m do read(f,a[i,j]);
readln(f);
end;
close(f);
assign(f,'HCN.out');rewrite(f);
k:=0;
for i:=1 to n-q+1 do
begin
for j:=1 to m-p+1 do
begin
inc(k);
b[k]:=tong(i,j);
end;
end;
for i:=1 to k-1 do
for j:=k downto i+1 do
if b[j]>b[j-1] then
begin
tam:=b[j];
b[j]:=b[j-1];
b[j-1]:=tam;
end;
writeln(f,b[1]+b[2]);
close(f);
readln;
end.

vui

Một trò chơi dành cho nhiều đội chơi được Ban tổ chức quy định như sau: bắt đầu cuộc chơi, Ban tổ chức cho chạy N số trên màn hình từ trái sang phải và yêu cầu đội chơi nào trả lời nhanh nhất số cách chia dãy số trên thành nhiều dãy con nhất sao cho các dãy con có tổng bằng nhau. Ví dụ: Trên màn hình chạy dòng 19 số: 1 0 2 0 0 3 1 1 1 0 2 1 0 0 2 1 2 0 1. Kết quả trả lời đúng là: tổng các số mỗi dãy con là 3,...
Đọc tiếp

Một trò chơi dành cho nhiều đội chơi được Ban tổ chức quy định như sau: bắt đầu cuộc chơi, Ban tổ chức cho chạy N số trên màn hình từ trái sang phải và yêu cầu đội chơi nào trả lời nhanh nhất số cách chia dãy số trên thành nhiều dãy con nhất sao cho các dãy con có tổng bằng nhau.

Ví dụ: Trên màn hình chạy dòng 19 số: 1 0 2 0 0 3 1 1 1 0 2 1 0 0 2 1 2 0 1. Kết quả trả lời đúng là: tổng các số mỗi dãy con là 3, số dãy con nhiều nhất là 6, bao gồm các dãy con là: 1 0 2, 0 0 3, 1 1 1, 0 2 1, 0 0 2 1, 2 0 1

+Dữ liệu vào: File văn bản GAMESHOW.INP

- Dòng 1 chứa số nguyên dương N.

- Dòng 2 chứa N số chạy trên màn hình, các số cách nhau bởi dấu cách.

+ Dữ liệu ra: Ghi ra file văn bản GAMESHOW.OUT

- Dòng 1 là tổng các số của một dãy con.

- Dòng 2 là số K (số dãy con nhiều nhất chia được).

- Dòng 3 là các vị trí cuối cùng của từng dãy con, các số vị trí này cách nhau bởi dấu cách.

Ví dụ:

GAMESHOW.INP

GAMESHOW.OUT

19

1 0 2 0 0 3 1 1 1 0 2 1 0 0 2 1 2 0 1

3

6

3 6 9 12 16 19

1

const fi='gameshow.inp';
fo='gameshow.out';
var f1,f2:text;
a,b:array[1..100]of integer;
n,i,tg,d,s,x,j,vtd,vt: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------------------}
tg:=0;
for i:=1 to n do
tg:=tg+a[i];
for i:=n downto 1 do
if tg mod i=0 then
begin
d:=0;
s:=0;
x:=tg div i;
for j:=1 to n do
begin
s:=s+a[j];
if s=x then
begin
vt:=j;
inc(d);
b[d]:=vt;
s:=0;
end;
end;
if s=0 then
begin
b[d]:=n;
break;
end;
end;
writeln(f2,x);
writeln(f2,d);
for i:=1 to d do
write(f2,b[i],' ');
close(f1);
close(f2);
end.

gọi tệp này là so.inp

uses crt;
const fi='so.inp';
var f1:text;
a,b:array[1..3]of integer;
i,j:integer;
begin
clrscr;
assign(f1,fi); reset(f1);
for i:=1 to 3 do
read(f1,a[i]);
readln(f1);
for j:=1 to 3 do
read(f1,b[j]);
{------------------------xuat------------------}
for i:=1 to 3 do
write(a[i]:4);
writeln;
for j:=1 to 3 do
write(b[j]:4);
close(f1);
readln;
end.

2 tháng 2 2020

Em tham khảo cách sử dụng tệp tại link này nhé: https://hoc24.vn/hoi-dap/question/821614.html

22 tháng 2 2020

#include <iostream>
#include <fstream>

int main()
{
std::ifstream f("daycon.inp");
int n,s,a[1001],d[100][1001];
f>>n>>s;
for(int i=1;i<=n;i++)
{
f>>a[i];
}
d[0][0]=0;
a[0]=0;
d[1][a[1]]=1;
for(int i=2;i<=n;i++)
{
for(int j=0;j<=s;j++)
{
d[i][j]=d[i-1][j];
if(j==a[i]&&d[i-1][j]<1)
d[i][j]=1;
else
if(a[i]<j&&d[i-1][j-a[i]]>0&&d[i-1][j-a[i]]+1>d[i][j])
d[i][j]=d[i-1][j-a[i]]+1;
}
}
for(int i=n;i>=1;i--)
{
if(d[i][s]!=d[i-1][s])
{
std::cout<<a[i]<<" ";
s-=a[i];
}
}

return 0;
}

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.

31 tháng 1 2020

123 + 122210 = 122333

It's so easy ^^

16 tháng 2 2020

haha vãi cả nồi

22 tháng 1 2020
a b a xor b
T T F
T F T
F T T
F F F

nó có lẽ như thế này

XOR trong pascal là một phép toán logic

Hệ thống cảnh báo thảm họa Để giảm bớt thiệt hại khi có rủi ro do động đất và sóng thần gây ra, Trung tâm dự báo thảm họa thiên tai X muốn xây dựng hệ thống cảnh báo động đất và sóng thần ở các vùng biển. Vệ tinh VNSAT đã cung cấp bản đồ khảo sát độ sâu đáy biển của các vùng biển. Bản đồ là lưới ô vuông gồm M dòng và N cột, mỗi ô trên bản đồ ghi một số nguyên dương cho biết độ sâu...
Đọc tiếp
Hệ thống cảnh báo thảm họa Để giảm bớt thiệt hại khi có rủi ro do động đất và sóng thần gây ra, Trung tâm dự báo thảm họa thiên tai X muốn xây dựng hệ thống cảnh báo động đất và sóng thần ở các vùng biển. Vệ tinh VNSAT đã cung cấp bản đồ khảo sát độ sâu đáy biển của các vùng biển. Bản đồ là lưới ô vuông gồm M dòng và N cột, mỗi ô trên bản đồ ghi một số nguyên dương cho biết độ sâu của đáy biển tại điểm khảo sát. Trung tâm X cần tìm trên bản đồ một hình chữ nhật diện tích lớn nhất có các cạnh song song với các cạnh của bản đồ và các ô trong hình chữ nhật đó có cùng một độ sâu để xây dựng hệ thống cảnh báo thảm họa. Ví dụ: HTCB.INP HTCB.OUT 4 5 1 2 1 3 2 3 2 2 2 1 1 2 2 2 1 1 3 3 2 2 6 1 2 1 3 2 3 2 2 2 1 1 2 2 2 1 1 3 3 2 2 :
2
18 tháng 1 2020

Hình như bài này dùng thuật toán loang

18 tháng 1 2020

dùng c ++ đi bro !!

tăng liên tiếp thì được, chứ tăng không liên tiếp là cái gì? mình không hiểu lắm

17 tháng 1 2020

VD: 1 2 3 4 9 5 6 7

Vậy dãy con tăng không liên tiếp là 1 2 3 4 5 6 7 (bỏ số 9)

Hình như bài này dùng cái thuật toán quy hoạch động của lớp 9 là ra

17 tháng 1 2020

Program hotrotinhoc;

var s,s1,st,st1: string;

d,i,j,n,d1,code : integer;

a: array[1..249] of string;

begin

Readln(s); s:=s+#32;

readln(s1);

i:=0;

while length(s)<>0 do

begin

d:=pos(#32,s);

st:=copy(s,1,d-1);

inc(i);

a[i]:=st;

delete(s,1,d);

end;

for j:=1 to length(s1) do

if s1[j] in ['0'..'9'] then

begin

val(s1[j],d1,code);

st1:=st1+a[d1]+#32;

end;

for i:=1 to length(st1) do

if st1[i] in ['A'..'Z'] then st1[i]:=chr(ord(st1[i])+32);

st1[1]:=Upcase(st1[1]);

write(st1);

readln

end.