-
백준 14726번: 신용카드 판별구현(Implementation) 2018. 8. 15. 21:01반응형
https://www.acmicpc.net/problem/14726
1. 문제
2. 알고리즘
키워드 - 구현, 수학
3. 코드
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980#include <iostream>#include <sstream>#include <string>#include <algorithm>#include <functional>#include <vector>#include <list>#include <queue>#include <deque>#include <map>#include <set>#include <stack>#include <math.h>#include <memory.h>using namespace std;#define MAX_SIZE 100#define INF 0x7fffffff#define CENDL "\n"#define ll long long#define c_reverse(s) reverse(s.begin(), s.end())#define c_sort(s) sort(s.begin(), s.end())#define print_vector(v) for(int i=0; i<v.size(); i++) cout << v[i];int devide(int n) {int ret = n % 10;n /= 10;return ret + n;}bool solve(string s) {int sol = 0;reverse(s.begin(), s.end());const int size = s.size();for (int i=0; i<size; i++) {char ch = s[i] - '0';if ((i+1) % 2 == 0) {int cand = ch * 2;while(cand > 9) {cand = devide(cand);}sol += cand;} else {sol += ch;}}if (sol % 10 == 0) {return true;}return false;}int main() {cin.tie(0);std::ios::sync_with_stdio(false);int n; cin >> n;while(n--) {string s; cin >> s;bool isOk = solve(s);if (isOk) {cout << "T" << CENDL;} else {cout << "F" << CENDL;}}return 0;}cs 반응형'구현(Implementation)' 카테고리의 다른 글
백준 3058번: 짝수를 찾아라 (0) 2018.08.31 백준 1297번: TV 크기 (0) 2018.08.15 백준 10419번: 지각 (0) 2018.08.12 백준 11944번: NN (0) 2018.08.06 백준 11575번: Affine Cipher (0) 2018.08.06