---
# System prepended metadata

title: HOMEWORK 1

---

                            HOMEWORK 1
I.`Dịch`
```
Đôi khi một số từ như “bản địa hóa” hay “quốc tế hóa” dài đến mức viết chúng nhiều lần trong một văn bản khá mệt mỏi. Hãy xem xét một từ quá dài nếu độ dài của nó thực sự lớn hơn 10 ký tự. Tất cả các từ quá dài nên được thay thế bằng một từ viết tắt đặc biệt. Chữ viết tắt này được thực hiện như thế này: chúng ta viết chữ cái đầu tiên và chữ cái cuối cùng của một từ và giữa chúng chúng ta viết ra số chữ cái giữa chữ cái đầu tiên và chữ cái cuối cùng. Số đó thuộc hệ thập phân và không chứa bất kỳ số 0 đứng đầu nào. Do đó, "bản địa hóa" sẽ được đánh vần là "l10n" và "quốc tế hóa" sẽ được đánh vần là "i18n". Bạn nên tự động hóa quá trình thay đổi từ bằng chữ viết tắt. Khi đó, những từ quá dài nên được thay thế bằng chữ viết tắt và những từ không quá dài sẽ không có bất kỳ thay đổi nào.


ĐẦU VÀO
`Dòng đầu tiên chứa số nguyên n (1     n     100). Mỗi dòng trong số n dòng tiếp theo chứa một từ. Tất cả các từ bao gồm các chữ cái Latinh viết thường và có độ dài từ 1 đến 100 ký tự.`

ĐẦU RA
`In n dòng. Dòng thứ i phải chứa kết quả của việc thay thế từ thứ i trong dữ liệu đầu vào.`
```
II. XÉT CÁC TRƯỜNG HỢP
INPUT:
    n=4
    -word
    -localization
    -internationalization
    -pneumonoultramicroscopicsilicovolcanoconiosis
OUTPUT:
    -word
    -l10n
    -i18n
    -p43s

II.`Giải thích và hướng giải`
-n=4(nhập n vào để nhập 4 xâu)
    +nói cách khác thì bao nhiêu n thì nhập bấy nhiêu xâu
-word ->word
-localization -> l10n
-internationalization -> i18n
-pneumonoultramicroscopicsilicovolcanoconiosis -> p43s
-Nếu xâu <= 10 ký tự thì in thẳng ra xâu 
-Còn xâu > 10 ký tự thì in ra chữ đầu ở bên phải và chữ cuối ở bên trái, giữa hai chữ là số ký tự giữa hai chữ đầu và cuối trong xâu.
-Ví dụ như ở trên;
+localization lớn hơn 10 ký tự nên sẽ trở thành l10n(l là ký tự đầu,n là ký tự cuối,10 là số ký tự giữa ký tự đầu và cuối)

III.`CODE`
```cpp=
#include <iostream>
#include <string>
using namespace std;
int main(){
	int n;
	cin>>n;
	cin.ignore();
	while(n--){
	        string s;
		int d=0;
		getline(cin,s);
		if(s.length()<=10){
			cout << s << "\n";
		}
		else{
			for(int i=1;i<s.length();i++){
				d+=1;
			}
			d=d-1;
			string first=s.substr(0,1);
			char endd=s.back();
			string x=to_string(d);
			cout << first+x+endd << "\n";
		}
	}
	return 0;
}
'cái này là tụi em tự tìm hiểu và code theo tư duy của em.'
link đề:`https://codeforces.com/problemset/problem/71/A`
```