Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- string normalize(string s)
- {
- string ans="";
- int i=-1;
- while(s[++i]!='1');
- for(int j=i; j<s.size(); j++)
- ans+=s[j];
- return ans;
- }
- string XOR(string a, string b)
- {
- string ans="";
- for(int i=0; i<a.size(); i++)
- {
- ans+=((a[i]-48)^(b[i]-48))+48;
- }
- return ans;
- }
- bool get_crc(string data, string divisor)
- {
- int div,temp;
- string temps="";
- for(int i=0; i<data.size(); i++)
- {
- temps+=data[i];
- if(temps.size()==divisor.size())
- {
- temps=XOR(temps,divisor);
- temps=normalize(temps);
- }
- }
- temps=normalize(temps);
- return !temps.empty();
- }
- int main()
- {
- string data,divisor;
- int div;
- cin>>data>>divisor;
- int n=divisor.size();
- bool res=get_crc(data,divisor);
- if(res)
- cout<<"YES"<<endl;
- else
- cout<<"NO"<<endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement