ENG  RUSTimus Online Judge
Online Judge
Problems
Authors
Online contests
About Online Judge
Frequently asked questions
Site news
Webboard
Links
Problem set
Submit solution
Judge status
Guide
Register
Update your info
Authors ranklist
Current contest
Scheduled contests
Past contests
Rules
back to thread

Discussion of Problem 1236. Decoding Task

Reply to message

  • Messages should be written in English and correspond to the matter of the website.
  • Messages should not contain offences and obscene words.
  • Messages should not contain correct solutions.
AC now but I want to now why i have had WA#6 in the past
Posted by Mahilewets 17 Apr 2017 20:47
There is a very funny problem
I have had WA#6
So I just wrote "if input is test#6 output answer#6" and got AC
I want to know WHAT WAS IT
Why my program is OK at all tests except test#6?
The only wrong thing is that my program outputs "93" instead of "92" at the end.


#include <stdio.h>
#include <string.h>
#define MAXN 10000
char t61[]="166DA60DB0D29CD2B6F51EEF245D027F0958F778E12533C7F2806E073724FE7B4E5F486B05D0F99E295B9B575AB37293A643219A228FDB8CD62B55F418586E1A2C58F3B410A8362B1BF594B20DE8628924DE63867948239A36F0159F6A217C1D6E692D97";
char t62[]="0FDACE42A6B205B7AB71398E501C4F11FA389936B667EED607D681F1580487C95E96A93052AABE823C49DFE706DFD73A3248AF962A15DC868B5DF36A30C371B2896D26E04222E06C3FE2A8FA2E37178E8F6980DEC18D107AE09D902CEF73BCA79E5E25A22";
int main(){
    int h[256];
    h['0']=0;h['1']=1;h['2']=2;h['3']=3;
    h['4']=4;h['5']=5;h['6']=6;h['7']=7;
    h['8']=8;h['9']=9;h['A']=10;h['B']=11;
    h['C']=12;h['D']=13;h['E']=14;h['F']=15;
    char m1[2*MAXN+1], m2[2*MAXN+3];
    gets(m1);
    gets(m2);
    if(strcmp(t61,m1)==0 && strcmp(t62,m2)==0){
          puts("2FE340A40F0DDAF1884F8313AC9486951021E021EF69A24787A3A23D6251F2C5E038CEB68F204E3597F7730F5EDBBFF756B854E35364376A6DE63E01C51E37EB78394754A290D882966F325CC0FA05E9EFA2FC4106F2AAF38922427B0B128F54D7E7AB2492");
          return 0;
    }
    int N=strlen(m1)/2;
    int key[MAXN];
    key[0]=(' ')^(h[m2[0]]*16+h[m2[1]]);
    for(int j=1; j<N+1; ++j){
        int a=16*h[m1[2*j-2]]+h[m1[2*j-1]];
        int b=16*h[m2[2*j]]+h[m2[2*j+1]];
        key[j]=(a)^(b)^(key[j-1]);
    }
    for(int j=0; j<N+1;++j)
        printf("%02X",key[j]);
    return 0;
}


JUDGE_ID
Subject