CẦN GẤP LẮM RỒI Ạ TIN
Một công ty có tổ chức trò chơi, tặng N gói quà đã được chuẩn bị theo giá trị phần quà từ thấp đến cao, để tri ân cho N khách hàng. Công ty đó đã chuẩn bị 1 chiếc hộp đựng N mảnh giấy, mỗi mảnh giấy được bí mật ghi một mã hóa gồm nhiều kí tự số và chữ. Mỗi khách hàng được chọn 1 mảnh giấy trong chiếc hộp đó. Em hãy viết chương trình tặng quà từ thấp đến cao theo số lượng các kí tự số của mã hóa trong tờ giấy, nếu số lượng kí tự số trong mã hóa bằng nhau thì khách hàng chọn trước được tặng quà trước.
Vào từ file TROCHOI.INP
Dòng đầu chứa một số nguyên dương N(0<N≤10^4) N dòng tiếp theo, mỗi dòng chứa một mã hóa không dài quá 255 kí tự tương ứng cho từng khách hàng Output: ghi ra file TROCHOI.OUT</p>
Là thứ tự tặng quà của trò chơi này cho N khách hàng trên. Ví dụ Inp:
5 N12345Cao A89Dat G2Chuc L512Ket E3689Qua
Out:
G2Chuc A89Dat L512Ket E3689Qua N12345Cao
ý tưởng:
sử dụng mảng a[] lưu 2 thông tin về chuỗi
- Thông tin 1:chuỗi đề bài cho
- Thông tin 2: số lượng chữ số có trong chuỗi đó
bài toán trở thành bài toán sắp xếp mảng a[] tăng dần theo thông tin thứ 2
code:
#pragma GCC optimize ("O3")
#include <bits/stdc++.h>
using namespace std;
const long long nmax = 1e6 + 5;
pair<string, int> a[100005];
int n;
int cnt (string s)
{
int dem = 0;
for (auto x: s) if ('0' <= x and x <= '9') dem++;
return dem;
}
bool cmp (pair<string, int> x, pair<string, int> y)
{
return x . second < y . second;
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);cout.tie(NULL);
cin >> n;
for (int i = 1; i <= n; ++i)
{
cin >> a[i] . first;
a[i] . second = cnt(a[i] . first);
}
sort (a + 1, a + 1 + n, cmp);
for (int i = 1; i <= n; ++i)
{
cout << a[i] . first << " ";
}
}
Tin học là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng. Tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin. Hãy tận dụng sức mạnh của tin học để giải quyết các vấn đề và sáng tạo ra những giải pháp mới!
Lớp 8 - Năm thứ ba ở cấp trung học cơ sở, học tập bắt đầu nặng dần và sang năm lại là năm cuối cấp, áp lực lớn dần. Hãy chú ý đến sức khỏe, cân bằng giữa học và nghỉ ngơi để đạt hiệu quả tốt nhất!
Copyright © 2024 Giai BT SGK