'2015/05'에 해당되는 글 1건

  1. 2015.05.20 (Algospot)Hamming Code

(Algospot)Hamming Code

코딩 2015.05.20 22:36 |

문제링크(https://algospot.com/judge/problem/read/HAMMINGCODE)

역시 무언가를 시작할 때는 튜토리얼부터 해야 제맛 ㅎㅎ

이 문제는 입력된 코드가 제대로 된 코드인가 체크하는 알고리즘으로써 정해진 bits를 xor하면 어느 bit에 문제가 있는지 알려준다.

그냥 문제 있는 그대로 코딩해서 풀면 답이 나온다 

답안으로 제출한 코드

#include<iostream>

using namespace std;
int hammingCode(){
    int chk[3][4]={{0,2,4,6},{1,2,5,6},{3,4,5,6}};
    int T;
    cin>>T;
    while(T--){
        char arr[8];
        cin>>arr;
        int sol=0;
        for(int i=0;i<3;i++){
            int flag=(int)arr[chk[i][0]];
            for(int j=1;j<4;j++){
                flag^=(int)arr[chk[i][j]];
            }
            sol+=flag<<i;
        }
        arr[sol-1]^=1;
        cout<<arr[2]<<arr[4]<<arr[5]<<arr[6]<<endl;
    }
}


신고

'코딩' 카테고리의 다른 글

(Algospot)Hamming Code  (0) 2015.05.20
Project Euler_ pro12  (0) 2015.01.04
Project Euler_ pro8  (0) 2014.12.29
[python] 기본문법  (0) 2013.05.08
[Matlab] Cow문제3  (0) 2013.04.16
[Java] 소켓프로그래밍  (0) 2013.03.22
Posted by MathGrammer

댓글을 달아 주세요

티스토리 툴바