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.

DPRCCOI - ĐỔI TIỀNDữ liệu vào: standard inputDữ liệu ra: standard outputGiới hạn thời gian: 1.0 giâyGiới hạn bộ nhớ: 128 megabyte      Ở AnLuuLand họ có một hệ thống tiền tệ rất kỳ lạ. Mỗi đồng tiền vàng của AnLuuLand có một số nguyên được viết trên đó. Một đồng n có thể được trao đổi trong ngân hàng thành ba đồng tiền: n div 2, n div 3 và n div 4.     Bạn cũng có thể đổi tiền AnLuuLand thành đô la...
Đọc tiếp

DPRCCOI - ĐỔI TIỀN

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ớ: 128 megabyte

 

     Ở AnLuuLand họ có một hệ thống tiền tệ rất kỳ lạ. Mỗi đồng tiền vàng của AnLuuLand có một số nguyên được viết trên đó. Một đồng n có thể được trao đổi trong ngân hàng thành ba đồng tiền: n div 2, n div 3 và n div 4.

     Bạn cũng có thể đổi tiền AnLuuLand thành đô la Mỹ. Tỷ giá hối đoái là 1:1. Nhưng bạn không thể mua tiền AnLuuLand.

     Bạn có đồng vàng ghi số n. Số đô la Mỹ tối đa bạn có thể đổi được là bao nhiêu?

Dữ liệu nhập:

- Dữ liệu nhập: sẽ chứa một số trường hợp thử nghiệm (không quá 10).

- Mỗi testcase là một dòng duy nhất có số n (0 ≤ n ≤ 109). Đó là số được viết trên đồng tiền của bạn.

Kết quả:

- Đối với mỗi trường hợp thử nghiệm xuất ra một dòng duy nhất, chứa số đô la Mỹ tối đa bạn có thể kiếm được.

Ví dụ

input

0
1
2
3
4
5
12
32
12345
7985
1000000000

output

0
1
2
3
4
5
13
35
21629
13137
4243218150

Chú thích:

- Bạn có thể thay đổi 12 thành 6, 4 và 3, sau đó đổi chúng thành $6 + $4 + $3 = $13.

- Nếu bạn thử đổi xu 2 thành 3 đồng xu nhỏ hơn, bạn sẽ nhận được 1, 0 và 0, và sau đó bạn có thể nhận được không quá 1 đô la trong số đó. Tốt hơn là chỉ cần thay đổi 2 đồng tiền trực tiếp thành 2 đô la.

1
27 tháng 6 2023

def exchange(n, memo):
    if n in memo:
        return memo[n]
    if n == 0:
        return 0
    max_exchange = max(n, exchange(n // 2, memo) + exchange(n // 3, memo) + exchange(n // 4, memo))
    memo[n] = max_exchange
    return max_exchange

while True:
    try:
        n = int(input())
        memo = {}
        print(exchange(n, memo))
    except:
        break
    

TUVUNG - TỪ VỰNGDữ liệu vào: standard inputDữ liệu ra: standard outputGiới hạn thời gian: 1.0 giâyGiới hạn bộ nhớ: 128 megabyte       Uyên viết ra một xâu S có độ dài không quá 106 chỉ gồm các kí tự thường trong bảng chữ cái tiếng Anh. Một từ vựng là một từ thu được bằng cách sao chép một đoạn kí tự liên tiếp từ xâu S thoả mãn một trong hai điều kiện:     - Bắt đầu bằng một nguyên âm (a, e, i, o, u),...
Đọc tiếp

TUVUNG - TỪ VỰNG

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ớ: 128 megabyte 

 

     Uyên viết ra một xâu S có độ dài không quá 106 chỉ gồm các kí tự thường trong bảng chữ cái tiếng Anh. Một từ vựng là một từ thu được bằng cách sao chép một đoạn kí tự liên tiếp từ xâu S thoả mãn một trong hai điều kiện:

     - Bắt đầu bằng một nguyên âm (a, e, i, o, u), kết thúc bằng một phụ âm

     - bắt đầu bằng một phụ âm và kết thúc là một nguyên âm.

     Yêu cầu: Giúp Uyên đếm số lượng từ vựng có trong S theo quy tắc trên.

Dữ liệu nhập:

  - Gồm một xâu S.

Kết quả:

  - in ra một số duy nhất là kết quả tìm được.

Ràng buộc:

  - 1/3 số test: Xâu S dài không quá 104.

Ví dụ

input

adceba

output

9

Lưu ý:

  - Đây không phải là test chấm chính thức của BTC.

1
27 tháng 6 2023
#include<bits/stdc++.h> using namespace std;string s;long long c[1000001],w[1000001];int main() {getline(cin,s);long long n = s.size();if(s[n-1] == 'a' || s[n-1] == 'e' || s[n-1] == 'i' || s[n-1] == 'o' || s[n-1] == 'u') c[n-1] = 0;else c[n-1] = 1;for(int i = n-2;i >= 0;i--) {if(s[i] == 'a' || s[i] == 'e' || s[i] == 'i' || s[i] == 'o' || s[i] == 'u') {c[i] = c[i+1];}else {c[i] = c[i+1]+1;}}if(s[n-1] == 'a' || s[n-1] == 'e' || s[n-1] == 'i' || s[n-1] == 'o' || s[n-1] == 'u') w[n-1] = 1;else w[n-1] = 0;for(int i = n - 2; i >= 0;i--) {if(s[i] != 'a'&s[i] != 'e'& s[i] != 'i' &s[i] != 'o'&s[i] != 'u') {w[i] = w[i+1];}else w[i] = w[i+1]+1;}long long dem = 0;for(int i = 0;i < s.size();i++) {if(s[i] == 'a' || s[i] == 'e' || s[i] == 'i' || s[i] == 'o' || s[i] == 'u') {dem = dem + c[i];}else {dem = dem + w[i];}}cout << dem;return 0;}
27 tháng 6 2023
#include<bits/stdc++.h>using namespace std;string s;long long c[1000001],w[1000001];int main() {getline(cin,s);long long n = s.size();if(s[n-1] == 'a' || s[n-1] == 'e' || s[n-1] == 'i' || s[n-1] == 'o' || s[n-1] == 'u') c[n-1] = 0;else c[n-1] = 1;for(int i = n-2;i >= 0;i--) {if(s[i] == 'a' || s[i] == 'e' || s[i] == 'i' || s[i] == 'o' || s[i] == 'u') {c[i] = c[i+1];}else {c[i] = c[i+1]+1;}}if(s[n-1] == 'a' || s[n-1] == 'e' || s[n-1] == 'i' || s[n-1] == 'o' || s[n-1] == 'u') w[n-1] = 1;else w[n-1] = 0;for(int i = n - 2; i >= 0;i--) {if(s[i] != 'a'&s[i] != 'e'& s[i] != 'i' &s[i] != 'o'&s[i] != 'u') {w[i] = w[i+1];}else w[i] = w[i+1]+1;}long long dem = 0;for(int i = 0;i < s.size();i++) {if(s[i] == 'a' || s[i] == 'e' || s[i] == 'i' || s[i] == 'o' || s[i] == 'u') {dem = dem + c[i];}else {dem = dem + w[i];}}cout << dem;return 0;}    
GRETRAINS - SẮP XẾP TÀUDữ liệu vào: standard inputDữ liệu ra: standard outputGiới hạn thời gian: 1.0 giâyGiới hạn bộ nhớ: 128 megabyte         Một tuyến đường sắt dài vô tận có một đoàn tàu gồm n toa tàu được đánh số từ 1 đến n (số của tất cả các toa là khác biệt) và được định vị theo thứ tự tùy ý. Huy muốn sắp xếp chiếc xe lửa theo thứ tự tăng dần của các toa tàu.    Trong một lần di chuyển,...
Đọc tiếp

GRETRAINS - SẮP XẾP TÀU

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ớ: 128 megabyte

         Một tuyến đường sắt dài vô tận có một đoàn tàu gồm n toa tàu được đánh số từ 1 đến n (số của tất cả các toa là khác biệt) và được định vị theo thứ tự tùy ý. Huy muốn sắp xếp chiếc xe lửa theo thứ tự tăng dần của các toa tàu.

    Trong một lần di chuyển, anh ta có thể làm cho một trong những toa tàu biến mất khỏi vị trí của nó và dịch chuyển nó đến đầu tàu, hoặc đến cuối tàu theo mong muốn của anh ta. Số lượng hành động tối thiểu Huy cần thực hiện để sắp xếp tàu là bao nhiêu?

Dữ liệu nhập:

  - Dòng đầu tiên của đầu vào chứa số nguyên n (1 ≤ n ≤ 100 000 ) - số lượng toa tàu trong xe lửa.

  - Dòng thứ hai chứa n số nguyên pi ( 1 ≤ pi ≤ n , pi ≠ pj nếu i ≠ j ) - dãy số của các toa tàu trong tàu.

Kết quả:

  - in một số nguyên duy nhất - số lượng hành động tối thiểu cần thiết để sắp xếp các toa xe lửa.

Ví dụ

input

5
4 1 2 5 3

output

2

input

4
4 1 3 2

output

2

2
27 tháng 6 2023

```python
n = int(input())
p = list(map(int, input().split()))

pos = [0] * n
for i in range(n):
pos[p[i]-1] = i

count = 0
for i in range(n):
if pos[i] != i:
j = pos[i]
pos[i], pos[j] = pos[j], pos[i]
count += 1

print(count)
```

27 tháng 6 2023

Pascal, c++ hay python gì cũng được

13 tháng 11 2021

uses crt;

var a,b:longint;

begin

clrscr;

readln(a,b);

writeln(a*b);

readln;

end.

ROBOT - ROBOT NHẢYDữ liệu vào: standard inputDữ liệu ra: standard outputGiới hạn thời gian: 1.0 giâyGiới hạn bộ nhớ: 512 megabyteĐăng bởi: phuleethanh      Sắn và các bạn trung tâm Kite được tham gia ngoại khoá ngày hội robot. Mỗi bạn được phép đem đến hội chợ một robot được lắp ghép từ các miếng logo. Các chú robot này khi di chuyển sẽ nhảy từng bước một, mỗi bước nhảy có độ dài cố định do các bạn...
Đọc tiếp
ROBOT - ROBOT NHẢYDữ liệu vào: standard inputDữ liệu ra: standard outputGiới hạn thời gian: 1.0 giâyGiới hạn bộ nhớ: 512 megabyteĐăng bởi: phuleethanh

 

     Sắn và các bạn trung tâm Kite được tham gia ngoại khoá ngày hội robot. Mỗi bạn được phép đem đến hội chợ một robot được lắp ghép từ các miếng logo. Các chú robot này khi di chuyển sẽ nhảy từng bước một, mỗi bước nhảy có độ dài cố định do các bạn làm ra robot đó chỉ định. Mỗi robot sẽ di chuyển trên một đường đua do ban tổ chức định sẵn. Đường đua độ dài L, các chú robot sẽ nhảy nếu bước nhảy không vượt ra ngoài đường đua. Chú robot nào gần đích nhất sẽ giành chiến thắng. Tuy nhiên độ dài đường đua không được biết trước nên các bạn phải chủ động chọn bước nhảy cố định cho robot trước khi đem đến ngoại khoá.

     Năm nay có N bạn tham dự thi, robot bạn thứ i nhảy a[i] (mm) mỗi bước. Sau khi trò chơi kết thúc ban tổ chức đo được khoảng cách còn lại từ vị trí cuối cùng của robot thứ i đến đích là p[i]. Sắn không chiến thắng trong trò chơi này nên muốn biết ban tổ chức đã chọn L là bao nhiêu. Bạn hãy lập trình giúp Sắn tìm L nhỏ nhất thoả mãn kết quả thu được.

Dữ liệu nhập: 

  - Dòng đầu tiên là số nguyên t – số trường hợp thử nghiệm (1 ≤ t ≤ 105)

  - Mỗi trường hợp thử nghiệm gồm 3 dòng:

     + Dòng thứ nhất là số nguyên N  - là số robot tham gia (1 ≤ n ≤ 12)

     + Dòng thứ hai là dãy số a[1], a[2], ..., a[n]. (0 ≤ a[i] < 40)

     + Dòng thứ ba là dãy số p[1], p[2], ...p[n]. (0 ≤ p[i] < a[i])

Kết quả:

  - Mỗi trường hợp thử nghiệm in ra một số nguyên không âm nhỏ nhất (L) thoả mãn kết quả đề bài. Nếu không tìm được hãy in -1.

Ví dụinput2
3
5 7 11
4 6 3
4
2 3 5 7
1 2 3 1output69
113

Ràng buộc: 7đ full test.

  - 60% test: Đáp án mỗi trường hợp không vượt quá 5000.

Giúp với ạ

0
23 tháng 7 2021

Uses crt;

var i,n:longint;

     S,A:real;

begin

clrscr;

Readln(A);

S:=0;n:=0;

while S<=A do

  Begin

  S:=0; 

  inc(n);

  for i:= 1 to n do S:=S+1/i;

  end;

Writeln(n);

readln;

end.

QUATU2 - Quân tượng đi lạc 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ớ: 128 megabyte Có một quân tượng trong cờ tướng đi lạc vào một bàn cờ vua. Bàn cờ vua có kích thước là 8 x 8, các dòng được đánh số từ 1 đến 8 theo thứ tự từ trên xuống dưới, các cột được đánh số từ 1 đến 8 theo thứ tự từ trái qua phải. Quân tượng đi lạc đang nằm ở...
Đọc tiếp
QUATU2 - Quân tượng đi lạc 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ớ: 128 megabyte Có một quân tượng trong cờ tướng đi lạc vào một bàn cờ vua. Bàn cờ vua có kích thước là 8 x 8, các dòng được đánh số từ 1 đến 8 theo thứ tự từ trên xuống dưới, các cột được đánh số từ 1 đến 8 theo thứ tự từ trái qua phải. Quân tượng đi lạc đang nằm ở ô (y, x), dòng y cột x. Để có thể quay trở lại bàn cờ tướng, quân tượng phải tìm cách di chuyển đến một cổng thoát tại ô (ty, tx) trên bàn cờ vua. Bạn hãy tính xem quân tượng phải di chuyển ít nhất bao nhiêu nước đi để đến được cổng thoát này. Ghi chú: Quân tượng cờ tướng di chuyển theo đường chéo 2 ô một, từ ô (y, x) có thể đi đến một trong bốn ô (y-2, x-2), (y-2, x+2), (y+2, x-2), (y+2, x+2). Dữ liệu nhập: - Là bốn số nguyên y, x, ty, tx mỗi số cách nhau một khoảng trắng (1 y, x, ty, tx 8) Dữ liệu xuất: - Nếu quân tượng không thể di chuyển đến cổng thoát, mãi mãi ở lại bàn cờ vua, in ra -1. - Nếu quân tượng có thể di chuyển đến cổng thoát, in ra số bước di chuyển ít nhất. Ví dụ input 1 1 1 2 output -1 input 3 5 7 5 output 2
1
12 tháng 8 2023

Tham Khảo:

#include <bits/stdc++.h>

using namespace std;

bool v(int y, int x) {

return 1 <= y && y <= 8 && 1 <= x && x <= 8;

}

int m(int y, int x, int ty, int tx) {

if (!v(y, x) || !v(ty, tx)) {

return -1;

}

deque<pair<int, pair<int, int>>> q;

q.push_back({y, {x, 0}});

bool vis[9][9] = {false};

vis[y][x] = true;

int dx[] = {-2, -2, 2, 2};

int dy[] = {-2, 2, -2, 2};

while (!q.empty()) {

int cy = q.front().first;

int cx = q.front().second.first;

int s = q.front().second.second;

q.pop_front();

if (cy == ty && cx == tx) {

return s;

}

for (int i = 0; i < 4; ++i) {

int ny = cy + dy[i];

int nx = cx + dx[i];

if (v(ny, nx) && !vis[ny][nx]) {

q.push_back({ny, {nx, s + 1}});

vis[ny][nx] = true;

        }

    }

}

return -1;

}

int main() {

int y, x, ty, tx;

cin >> y >> x >> ty >> tx;

cout << m(y, x, ty, tx) << endl;

return 0;

}