Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- #define REP( i , n ) for( int i = 0 ; i < n ; ++i )
- typedef long long ll;
- typedef unsigned long long ull;
- typedef pair< int , int > pii;
- typedef pair< ll , ll > pll;
- typedef vector< int > vi;
- typedef vector< vi > vvi;
- typedef vector< ll > vll;
- typedef vector< ull > vull;
- void solve(int a,int b,int c,int d,int e,int f, bool &ok, int &u, int &v){
- REP(x,2)
- REP(y,2){
- if(( (a*x + b*y)&1) != (c&1))continue;
- if(( (d*x + e*y)&1) != (f&1))continue;
- u = x , v = y;
- ok = 1;
- return;
- }
- ok = 0;
- }
- void impr( vi x){
- if( x[0] == 0 && x[1] == 0){
- puts("-1");
- return;
- }
- if( x[0] == 0 && x[1] == 1){
- puts("1 1 0");
- return;
- }
- if( x[0] == 1 && x[1] == 0){
- puts("1 1 1");
- return;
- }
- puts("0 1");
- }
- int eval(vi P , int x){
- int ans = 0;
- REP(i,P.size())
- ans = (ans * x + P[i])&1;
- return ans;
- }
- int main(){
- freopen("eq.in", "r", stdin);
- freopen("eq.out", "w", stdout);
- cout<<"2 1 0 1"<<endl;
- puts("2 1 1 0");
- return 0;
- int len;
- while(cin>>len){
- vvi P;
- REP(i,6){
- if( i )cin>>len;
- vi v(len+1);
- REP(j,len+1)cin>>v[j];
- P.push_back(v);
- }
- bool ok = 1;
- vi x(2) , y(2);
- REP(i,2){
- solve(eval(P[0],i),eval(P[1],i),eval(P[2],i),eval(P[3],i),eval(P[4],i),eval(P[5],i), ok,x[i],y[i] );
- if( ok == 0)break;
- }
- if(!ok){cout<<"No Solution"<<endl;continue;}
- impr(x);
- impr(y);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment