Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<fstream>
- using namespace std;
- ifstream fin("paritate.in");
- ofstream fout("paritate.out");
- char v[600005];
- bool ru[600005];
- char c[650005];
- int gresite[700505];
- int main()
- {
- int i=1, j, contor=0, parit, k=1, l, m=0, eroare=0, pb=1, nr, f=8, g=2, s=0;
- while(fin>>v[i])
- {
- ru[i]=v[i]-48;
- i++;
- }
- for(j=1; j<=i/8; j++)
- {
- parit=ru[g-1];
- nr=0;
- pb=1;
- contor=0;
- for(l=g; l<=f; l++)
- {
- if(ru[l]==1)
- {
- contor++;
- }
- }
- if(parit==1)
- {
- if(contor%2==1)
- {
- for(l=f; l>=g; l--)
- {
- nr=nr+ru[l]*pb;
- pb*=2;
- }
- c[++m]=nr;
- }
- else
- {
- eroare++;
- gresite[++s]=j;
- }
- }
- else
- {
- if(contor%2==0)
- {
- for(l=f; l>=g; l--)
- {
- nr=nr+ru[l]*pb;
- pb*=2;
- }
- c[++m]=nr;
- }
- else
- {
- eroare++;
- gresite[++s]=j;
- }
- }
- g+=8;
- f+=8;
- }
- cout<<eroare;
- if(eroare==0)
- {
- fout<<"DA"<<'\n';
- for(i=1; i<=m; i++)
- {
- fout<<c[i];
- }
- }
- else
- {
- fout<<"NU"<<'\n';
- for(i=1; i<=s; i++)
- {
- fout<<gresite[i]-1<<' ';
- }
- }
- fin.close();
- fout.close();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment