Submission

Status:
[PPPPPPPPPP]

Score: 100

User: YoruoniVamp

Problemset: ตรวจบัตรเครดิต

Language: cpp

Time: 0.002 second

Submitted On: 2025-03-12 11:30:11

// YoruoniVamp - VTUBE

#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
#define ll long long
#define ld long double
#define ull unsigned ll
#define cint const int
#define cf const float

cint mxA = 1e6+5, MOD = 1e9+7, INF = 0x3f3f3f3f;
cint d4x[4] = {0, 1, 0, -1}, d4y[4] = {1, 0, -1, 0};
cint d8x[8] = {0, 1, 1, 1, 0, -1, -1, -1}, d8y[8] = {1, 1, 0, -1, -1, -1, 0, 1};

void solve(){
    string s; cin >> s;
    vector<int> v;
    vector<string> v2;
    for(int i = s.length()-2; i >= 0; i--) v.push_back(s[i]-'0');
    // for(auto i: v) cout << i << ' ';
    // cout << endl;
    int m =v.size();
    for(int i = 0; i < m; i++){
        if(i%2==0) v[i]*=2;
        if(v[i]>=10){
            v[i] %= 10;
            v.push_back(1);
        }
    }
    // for(auto i: v) cout << i << ' ';
    // cout << endl;
    int sum = 0;
    for(auto i: v) sum += i;
    // cout << sum << endl;
    sum = (10-(sum%10))%10;
    // cout << sum << endl;
    if(sum==s[s.length()-1]-'0') cout << "yes";
    else cout << "no";
    return;
}

int main(){
    cin.tie(nullptr)->sync_with_stdio(0);cout.tie(0);
    // freopen("", "r", stdin);
    // freopen("", "w", stdout);
    int t = 1;
    // cin >> t;
    while(t--) solve();
    return 0;
}