[Mảng 1 Chiều Cơ Bản]. Bài 49. 28tech

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Nguồn bài:
28Tech
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Cho mảng A[] gồm N kí tự chỉ bao gồm chữ cái in thường và chữ số, 28tech cho phép bạn nhặt các chữ cái ở chỉ số chẵn và xếp thành từ 28tech nhưng không được thay đổi thứ tự xuất hiện các kí tự trong mảng A[]. Ví dụ mảng A[] = {2, t, e, a, 8, d, t, c, e, d, c, x, h, h} có thể nhặt ra các chữ cái ở chỉ số 0, 4, 6, 8, 10, 12 để tạo thành từ 28tech.


Đầu vào

• Dòng 1 là : số lượng phần tử trong mảng

• Dòng 2 là N số trong mảng cách nhau 1 dấu cách


Giới hạn

• 1<=N<=10000

• Các phần tử trong mảng A[] là chữ cái in thường hoặc chữ số


Đầu ra

In ra 28TECH nếu bạn có thể tập hợp các chữ cái trong mảng A[] để tạo thành từ 28Tech, ngược lại in ra HCET82.


Ví dụ :

Input 01
25
n 2 a w 1 a j c t n 1 i i 2 i j 3 e 8 e l i a 2 w
Output 01
HCET82
Input 02
12
2 x 8 x t x e x c y h y
Output 02
28TECH

Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 0
    perkbevis2k4  đã bình luận lúc 24, Tháng 11, 2024, 5:36

    Ai muốn tham khảo code thì vô github: perk bevis nha


  • -4
    vu_ngoc_luong_cpp  đã bình luận lúc 5, Tháng 6, 2024, 17:56

    include <bits/stdc++.h>

    using namespace std;

    int main() { int n; cin >> n; vector<char> A(n); for(int i = 0; i < n; i++) { cin >> A[i]; } string tmp = "28tech"; int len = tmp.length(); int j = 0; for(int i = 0; i < n; i += 2) { if(A[i] == tmp[j]) { j++; } if(j == len) { break; } }
    if(j == len) cout << "28TECH" << endl; else cout << "HCET82" << endl; return 0; }


  • -3
    NTH11112222  đã bình luận lúc 25, Tháng 5, 2024, 2:02

    Các bạn tham khảo(Đừng có chép nha)

    include <iostream>

    include <string>

    using namespace std; int main() { int N; cin >> N; string A; for (int i = 0; i < N; ++i) { char ch; cin >> ch; if (i % 2 == 0) A += ch; } size_t pos = 0; string target = "28tech"; for (char c : target) { pos = A.find(c, pos); if (pos == string::npos) { cout << "HCET82" << endl; return 0; } ++pos; } cout << "28TECH" << endl; return 0; }


  • -3
    phipham304  đã bình luận lúc 12, Tháng 5, 2024, 5:07

    include <bits/stdc++.h>

    using namespace std;

    int main() { iosbase::syncwithstdio(false); cin.tie(NULL); int n; cin>>n; char a[n]; map<char, int> mpmax; map<char, int> mp_min; vector<char> b = {'2','8','t','e','c','h'}; set<char> s = {'2','8','t','e','c','h'}; set<char> c = s; for(int i=0; i<n; i++){ cin>>a[i];

        if(s.find(a[i])!=s.end()){
            mp_max[a[i]]=i;
            if(c.find(a[i])!=c.end()){
                c.erase(a[i]);
            }
            mp_min.insert(make_pair(a[i], i));
        }
    
    }
    if(c.size()>0){
        cout<<"HCET82";
        return 0; 
    }
    for(int i=0; i&lt;5; i++){
        if(mp_min[b[i]] > mp_max[b[i+1]]){
            cout<<"HCET82";
            return 0;
        }
    }
    cout<<"28TECH";
    return 0;
    

    }


  • -1
    DEE12345  đã bình luận lúc 9, Tháng 5, 2024, 15:59

    include<bits/stdc++.h>

    using namespace std;
    int main() {
    int n;
    cin >> n;
    cin.ignore();
        string s;
    getline(cin,s);
    stringstream ss(s);
    string se = "";
    string token;
    while(ss >> token){
        for(int i=0;i&lt;token.size();i++){
            if(token[i] == '2' || token[i] == '8' || token[i] == 't'
               || token[i] == 'e'|| token[i] == 'c'|| token[i] == 'h' ){
                se += token;
            }
        }
    }
    int d2 =0, d8 =0, dt =0, de =0, dc =0, dh = 0;
    for(int i =0;i&lt;se.size();i++){
        if(se[i] == '2') d2++;
        if(se[i] == '8') d8++;
        if(se[i] == 't') dt++;
        if(se[i] == 'e') de++;
        if(se[i] == 'c') dc++;
        if(se[i] == 'h') dh++;
    }
    
    if(d2 != 0 && d8 != 0 && dt != 0 && de !=0 && dc != 0 && dh != 0){
        cout<< "28TECH"<< endl;
    }
    else cout << "HCET82" << endl;
    
    return 0;
    

    } Bị sai 1 test nhưng chưa hiểu vì sao, ai giúp mình với


    • -1
      bradchen  đã bình luận lúc 16, Tháng 9, 2024, 15:48 sửa 2

      int n; cin >> n; cin.ignore();
      string s; getline(cin,s); stringstream ss(s); string se = ""; string token; while(ss >> token){ for(int i=0; i < token.size();i++){ if(i % 2 == 0){ if(token[i] == '2' || token[i] == '8' || token[i] == 't' || token[i] == 'e'|| token[i] == 'c'|| token[i] == 'h' ){ se += token; } } } } int d2 =0, d8 =0, dt =0, de =0, dc =0, dh = 0; int m2 = -1, m8 = -1, mt = -1, me = -1, mc = -1, mh = -1; for(int i = 0; i < se.size();i++){ if(se[i] == '2') { d2++; if(m2 == -1){ m2 = i; } } if(se[i] == '8') { d8++; if(m2 != -1 && m8 == -1){ m8 = i; } } if(se[i] == 't') { dt++; if(m8 != -1 && mt == -1){ mt = i; } } if(se[i] == 'e') { de++; if(mt != -1 && me == -1){ me = i; } } if(se[i] == 'c') { dc++; if(me != -1 && mc == -1){ mc = i; } } if(se[i] == 'h') { dh++; if(mc != -1 && mh == -1){ mh = i; } } } if(d2 != 0 && d8 != 0 && dt != 0 && de !=0 && dc != 0 && dh != 0 && m2 != -1 && m8 != -1 && mt != -1 && me != -1 && mc != -1 && mh != -1){ cout<< "28TECH"<< endl; } else cout << "HCET82" << endl;

      return 0;
      

      nó có thể xuất hiện lộn xộn


  • -2
    xuanthinh  đã bình luận lúc 29, Tháng 4, 2024, 11:19

    include <bits/stdc++.h>

    using namespace std;

    define ll long long

    ll n,dem=0; vector<char>v;

    int main() {

    ios_base::sync_with_stdio(0);
    cin.tie(0);cout.tie(0);
    string s;
    string s2="28tech";
    char s1;
    cin>>n;
    cin.ignore();
    getline(cin,s);
    int r=s.size();
    for(int i=0;i&lt;r;i++) {
        if(i%2==0) {
            if(s[i]=='2'||s[i]=='8'||s[i]=='t'||s[i]=='e'||s[i]=='c'||s[i]=='h') 
                v.push_back(s[i]);
    }
    }
    int r1=v.size();
    int j=0;
    for(int i=0;i&lt;r1;i++) {
        if(v[i]==s2[j]) {
            j++;
            dem++;
        }
        if(dem==6) break;
    }
    if(dem==6) cout<<"28TECH";
    else cout<<"HCET82";
    return 0;
    

    }