반응형
A. Comparing Two Long Integers
문제
https://codeforces.com/contest/616/problem/A
문제요약
긴 문자열 두개 a, b를 입력받아 정수로 나타냈을 때 어느게 더 큰지 나타내라
풀이
간단하게 둘 다 0이아닌곳부터 시작해서 우선 길이가 더 큰거 비교해서 대소 나타내고 길이가 같다면
반목문 돌면서 앞에서부터 각 문자 중 더 큰거 비교해서 대소를 나타낸다.
마지막까지 같다면 '=' 출력
소스코드
#include <stdio.h>
#include <string.h>
char a[1100000], b[1100000];
int main(){
scanf("%s\n%s",a,b);
int x=0, y=0, n, m;
n = strlen(a);
m = strlen(b);
for(;a[x] && a[x]=='0'; ++x);
for(;b[y] && b[y]=='0'; ++y);
if(n-x > m-y) {puts(">"); return 0;}
if(n-x < m-y) {puts("<"); return 0;}
for(int i=x; i<n; ++i, ++x, ++y){
if(a[x]>b[y]) {puts(">"); return 0;}
if(a[x]<b[y]) {puts("<"); return 0;}
}
printf("=");
}
반응형
'PS > Educational Codeforces' 카테고리의 다른 글
Educational Codeforces Round 007. A (0) | 2021.07.02 |
---|---|
Educational Codeforces Round 006. A (0) | 2021.07.02 |
Educational Codeforces Round 004. A (0) | 2021.07.02 |
Educational Codeforces Round 003. A, B, C, D (0) | 2021.07.02 |
Educational Codeforces Round 002. A, B, C, D (0) | 2021.07.02 |