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.

có 2 dội cờ vua A và B thi đấu với nhau. Mỗi đội cử ra n kì thủ, Mỗi kì thủ đội B chỉ đấu 1 trận và chỉ đấu với 1 kì thủ của đội A và ngược lại. Vậy có tất cả n trận đấu. Đội thắn được 2 điểm, hai đội hoà mỗi đội nhận 1 điểm còn đội nào thua là 0 điểm.

Cho đội B được quyền chọn cập thi đấu.

Yêu cầu:

Lập trình để đội B chọn được các cập thi đấu sao cho tổng số điểm của đội B là cao nhất. Cho biết trình độ của kì thủ thứ i của 2 đội A và B lần lượt là a[i] và b[i] (i=1,2,...,n) và giả sử trong thi đấu, hai kì thủ có trình độ bằng nhau sẽ hoà và kì thủ nào có trình độ cao hơn sẽ thắng.

Dữ liệu vào:

Ghi trên file văn bản CHESS.IN, gồm n+1 dòng:

-Dòng đầu ghi số nguyên dương n,1<=n<=1000.

-Trên dòng thứ i+1 (i<=i<=n) ghi hai số nguyên a[i], b[i] (1<=a[i],b[i]<=100), cách nhau 1 khoảng trắng.

Dữ liệu ra:

Ghi ra file văn bản CHESS.OUT gồm n+1 dòng:

-Dòng đầu là số nguyên T là sum max mà đội B có thể đạt được.

-Trên dòng thứ i+1 (1<=i<=n) là số nguyên dương x[i](1<=i<=n) trong đó x[i] là số thứ tự của kì thủ của đội B phải đấu với kì thủ thứ i của đội A để tổng số điểm của đội B đạt được là t.

CHESS.IN

CHESS.OUT

4

7 8

5 6

4 3

9 4

5

1

2

4

3

 

0
Năm 2070, cuộc thi MasterChef- World Final được tổ chức lần đầu tiên tại Việt Nam, với rất nhiều quy tắc mới lạ so với các cuộc thi MasterChef thông thường. Có tất cả N thí sinh đến từ tất cả các quốc gia trên thế giới tranh tài tại cuộc thi lần này, thí sinh thứ i có khả năng nấu nướng là Ai. Một trong những thay đổi lớn nhất của MasterChef-World Final lần này, là thay vì các thí sinh sẽ thi cá nhân, thì...
Đọc tiếp
Năm 2070, cuộc thi MasterChef- World Final được tổ chức lần đầu tiên tại Việt Nam, với rất nhiều quy tắc mới lạ so với các cuộc thi MasterChef thông thường. Có tất cả N thí sinh đến từ tất cả các quốc gia trên thế giới tranh tài tại cuộc thi lần này, thí sinh thứ i có khả năng nấu nướng là Ai. Một trong những thay đổi lớn nhất của MasterChef-World Final lần này, là thay vì các thí sinh sẽ thi cá nhân, thì họ sẽ được ghép cặp tạo thành các team rồi mới cùng nhau tranh tài.

Những người tổ chức cuộc thi có danh sách N thí sinh, đánh số họ từ 1 tới N theo thứ tự từ trái sang phải, và bắt đầu sắp xếp họ vào các team theo các quy tắc sau:

- Mỗi team phải có một người Nam và một Nữ.

- Hai người có giới tính khác nhau, nằm cạnh nhau trong bảng danh sách, và có độ chênh lệch khả năng là nhỏ nhất, sẽ được xếp vào cùng một team. Nếu có nhiều đôi như thế, thì họ sẽ chọn ra đôi nằm ở vị trí trái nhất có thể.

- Sau khi tìm được đôi đó, tên của họ sẽ bị xóa đi, tên của những người còn lại sẽ tự động xích gần lại.

Những nhà tổ chức MasterChef-World Final muốn số đội tham gia là nhiều nhất có thể, vì họ tin rằng càng nhiều đội thi thì cuộc thi càng diễn ra lâu, tiền tài trợ, tiền truyền hình cũng vì thế mà tăng lên theo. Hãy giúp họ xác định xem, sẽ có tối đa bao nhiêu đội tham gia cuộc thi lần này.

Chú ý: Độ chênh lệch khả năng tính bằng trị tuyệt đối hiệu khả năng của hai người

Dữ liệu nhập:

- Một số nguyên N, số thí sinh tham gia cuộc thi (1 ≤ N ≤ 105).

- Dòng 2: Gồm N số nguyên ‘M’ (Men) hoặc W (Woman) tương ứng là giới tính của người thứ i

- Dòng 3: Gồm N số nguyên A1…AN là khả năng nấu nướng của người thứ i (0 ≤ ai ≤ 109)

Kết quả:

- Dòng 1: Số nguyên K, số team lớn nhất tạo được

- K dòng tiếp theo, dòng thứ i gồm hai số nguyên là chỉ số của team thứ i. Chỉ số mỗi team được in ra theo thứ tự từ lớn đến bé

1
2 tháng 1 2020
Ví dụ -input 4
WMMW
10 11 2 3 -output 2
1 2
3 4
29 tháng 7 2021

uses crt;

var f,g:text;

n,i,m,k,j:integer;

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

const fi='BAI2.INP'; fo='BAI2.OUT';

begin

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

assign(g,fo); rewrite(g);

readln(f,n);

for i:=1 to n do

readln(f,a[i]);

for i:=1 to n do

begin

m:=a[i];

for j:=i+1 to n do

if odd(m+a[j])=false then k:=k+1;

end;

write(g,k);

close(f);

close(g);

end.

 

 

SWAP XBạn được cho hai dãy số nguyên dương aa và bb gồm nn phần tử mỗi mảng. Bạn được phép thực hiện thao tác này nhiều lần:Chọn 1 số nguyên ii bất kỳ (1≤i≤n) và tráo đổi 2 phần tử a[i] và b[i].Yêu cầu: Tìm giá trị nhỏ nhất có thể của max(a1,a2,...,an)⋅max(b1,b2,...,bn)sau khi bạn thực hiện thao tác trên 1 hoặc nhiều lần.Dữ liệu:Dòng đầu ghi t thể hiện số testcase, t≤100.t block tiếp theo, mỗi block có...
Đọc tiếp

SWAP X
Bạn được cho hai dãy số nguyên dương aa và bb gồm nn phần tử mỗi mảng. Bạn được phép thực hiện thao tác này nhiều lần:

Chọn 1 số nguyên ii bất kỳ (1≤i≤n) và tráo đổi 2 phần tử a[i] và b[i].

Yêu cầu: Tìm giá trị nhỏ nhất có thể của max(a1,a2,...,an)⋅max(b1,b2,...,bn)sau khi bạn thực hiện thao tác trên 1 hoặc nhiều lần.

Dữ liệu:

Dòng đầu ghi t thể hiện số testcase, t≤100.

t block tiếp theo, mỗi block có dạng:

Dòng đầu ghi số nguyên dương n (n≤104).

Dòng thứ hai ghi nn số nguyên dương a1,a2,...,an (ai≤106)

Dòng thứ ba ghi nn số nguyên dương b1,b2,...,bn(bi≤106).

Kết quả:
Ứng với mỗi testcase, in ra kết quả cần tìm.
input
3
6
1 2 6 5 1 2
3 4 3 2 2 5
3
3 3 3
3 3 3
2
1 2
2 1
output
18
9
2

1
13 tháng 2 2022

Ý tưởng: Tìm số lớn nhất trong hai dãy đã cho. Không mất tính tổng quát, giả sử số lớn nhất của 2 dãy nằm trong dãy a, ta xét các số trong dãy b, tại vị trí i:  nếu a[i] < b[i] thì hoán vị a[i] và b[i]. Sau đó tìm số lớn nhất trong dãy b rồi nhân với số lớn nhất của hai dãy sẽ ra được kết quả. 

#include <iostream>

using namespace std;

#define maxN 105

 

int main() {

int a[maxN], b[maxN];

int t;

cin >> t;

while (t--)

{

int n;

cin >> n;

int maxA = 0, maxB = 0;

for (int i = 0; i < n; i++)

{

cin >> a[i]; maxA = max(a[i], maxA);

}

for (int i = 0; i < n; i++)

{

cin >> b[i]; maxB = max(b[i], maxB);

}

if (maxA < maxB) 

swap(a, b);

int maxV = max(maxA, maxB);

for (int i = 0; i < n; i++)

if (b[i] > a[i]) 

swap(b[i], a[i]);

maxB = 0;

for (int i = 0; i < n; i++)

maxB = max(b[i], maxB);

cout << maxB * maxV << endl;

}

return 0;

}

#include <bits/stdc++.h>

using namespace std;

long long i,n,x,a[1000],dem;

int main()

{

cin>>n;

for (i=1; i<=n; i++)

{

cin>>a[i];

}

dem=0;

for (i=1; i<=n; i++)

if (a[i]%2==0) dem++;

cout<<dem<<endl;

for (i=1; i<=n; i++)

if (a[i]%2==0) cout<<a[i]<<" ";

return 0;

return 0;

}