CodeGraderBench/CodeGraderBench huggingface dataset:
Problem: A multinational company wants to form a team consisting of two programmers for an upcoming project. The team selection depends on three distinct skills:

1. New Code
2. Debugging
3. Optimizing

Each programmer has a value of either 0 or 1 for each skill:
- 1 indicates the programmer is skilled in that area.
- 0 indicates the programmer is not skilled in that area.

Compatibility Condition:

Two programmers A and B are considered compatible if all the following conditions are satisfied:

1. Both programmers must be good at new code.
   (Both A and B must have a value of 1 for "new code".)

2. At least one programmer must be good at debugging.
   (Either A or B must have a value of 1 for "debugging".)

3. At least one programmer must be good at optimizing.
   (Either A or B must have a value of 1 for "optimizing".)

Write a C++ program to take the skill values of two programmers as input and determine whether they are compatible.

If they are compatible, print:
compatible

Otherwise, print:
not compatible

Note:
- Output must be in lowercase.
- Do not print any extra messages or prompts.

Input:
Six integers representing the skills of two programmers:
A_new A_debug A_opt B_new B_debug B_opt

Output:
Print "compatible" if conditions are satisfied, otherwise print "not compatible".

Student submission:
#include<simplecpp>
main_program{
    bool na,da,oa,nb,db,ob;
    cin>>na>>da>>oa>>nb>>db>>ob;
    if(na*nb==1&&da+db>=1&&oa+ob>=1){
        cout<<"compatible";
    }
    else{
        cout<<"not compatible";
    }
}

Grading criterion: Printing compatible / not compatible correctly
Rating A: Correctly prints compatible or not compatible based on combining all the conditions above

Rating B: some issue
Rating C: major issue
Rating D: 0
Assigned grade: A
Problem: A multinational company wants to form a team consisting of two programmers for an upcoming project. The team selection depends on three distinct skills:

1. New Code
2. Debugging
3. Optimizing

Each programmer has a value of either 0 or 1 for each skill:
- 1 indicates the programmer is skilled in that area.
- 0 indicates the programmer is not skilled in that area.

Compatibility Condition:

Two programmers A and B are considered compatible if all the following conditions are satisfied:

1. Both programmers must be good at new code.
   (Both A and B must have a value of 1 for "new code".)

2. At least one programmer must be good at debugging.
   (Either A or B must have a value of 1 for "debugging".)

3. At least one programmer must be good at optimizing.
   (Either A or B must have a value of 1 for "optimizing".)

Write a C++ program to take the skill values of two programmers as input and determine whether they are compatible.

If they are compatible, print:
compatible

Otherwise, print:
not compatible

Note:
- Output must be in lowercase.
- Do not print any extra messages or prompts.

Input:
Six integers representing the skills of two programmers:
A_new A_debug A_opt B_new B_debug B_opt

Output:
Print "compatible" if conditions are satisfied, otherwise print "not compatible".

Student submission:
#include<simplecpp>
main_program{

    int a,b,c,d,e,f,y1,y2,y3;

    cin>>a>>b>>c>>d>>e>>f;

    if(a>0 && d>0){
    y1=1 ;} else {y1=0;
    }

    if(b>0 || e>0){
    y2=1;} else {y2=0;
    }

    if(c!=0 || f!=0){
    y3=1;} else {y3=0;
    }

    if(y1==1 && y2==1 && y3==1){
    cout<< "compatible"<<endl;} else  {cout<<"not compatible"<<endl; 
    }

    
}

Grading criterion: Printing compatible / not compatible correctly
Rating A: Correctly prints compatible or not compatible based on combining all the conditions above

Rating B: some issue
Rating C: major issue
Rating D: 0
Assigned grade: A
Problem: A multinational company wants to form a team consisting of two programmers for an upcoming project. The team selection depends on three distinct skills:

1. New Code
2. Debugging
3. Optimizing

Each programmer has a value of either 0 or 1 for each skill:
- 1 indicates the programmer is skilled in that area.
- 0 indicates the programmer is not skilled in that area.

Compatibility Condition:

Two programmers A and B are considered compatible if all the following conditions are satisfied:

1. Both programmers must be good at new code.
   (Both A and B must have a value of 1 for "new code".)

2. At least one programmer must be good at debugging.
   (Either A or B must have a value of 1 for "debugging".)

3. At least one programmer must be good at optimizing.
   (Either A or B must have a value of 1 for "optimizing".)

Write a C++ program to take the skill values of two programmers as input and determine whether they are compatible.

If they are compatible, print:
compatible

Otherwise, print:
not compatible

Note:
- Output must be in lowercase.
- Do not print any extra messages or prompts.

Input:
Six integers representing the skills of two programmers:
A_new A_debug A_opt B_new B_debug B_opt

Output:
Print "compatible" if conditions are satisfied, otherwise print "not compatible".

Student submission:
#include<simplecpp>
main_program{
    int a,b,c,d,e,f;
    cin>>a>>b>>c;
    cin>>d>>e>>f;
    if((a&d)&&(b|e)&&(c|f)==1) {
        cout<<"compatible";
    } 
    else {
        cout<<"not compatible";
    }
}

Grading criterion: Printing compatible / not compatible correctly
Rating A: Correctly prints compatible or not compatible based on combining all the conditions above

Rating B: some issue
Rating C: major issue
Rating D: 0
Assigned grade: A
Problem: A multinational company wants to form a team consisting of two programmers for an upcoming project. The team selection depends on three distinct skills:

1. New Code
2. Debugging
3. Optimizing

Each programmer has a value of either 0 or 1 for each skill:
- 1 indicates the programmer is skilled in that area.
- 0 indicates the programmer is not skilled in that area.

Compatibility Condition:

Two programmers A and B are considered compatible if all the following conditions are satisfied:

1. Both programmers must be good at new code.
   (Both A and B must have a value of 1 for "new code".)

2. At least one programmer must be good at debugging.
   (Either A or B must have a value of 1 for "debugging".)

3. At least one programmer must be good at optimizing.
   (Either A or B must have a value of 1 for "optimizing".)

Write a C++ program to take the skill values of two programmers as input and determine whether they are compatible.

If they are compatible, print:
compatible

Otherwise, print:
not compatible

Note:
- Output must be in lowercase.
- Do not print any extra messages or prompts.

Input:
Six integers representing the skills of two programmers:
A_new A_debug A_opt B_new B_debug B_opt

Output:
Print "compatible" if conditions are satisfied, otherwise print "not compatible".

Student submission:
#include <simplecpp>

main_program {
 int n1 , d1 , o1 ; 
 int n2 , d2 , o2 ;

 cin >> n1 >> d1 >> o1 ;
 cin >> n2 >> d2 >> o2 ;

 if ( n1 != 1 || n2 != 1 ) {
    cout << "not compatible" ;
     return 0;  
 }
 else if ( d1 != 1 && d2 != 1) {
    cout << "not compatible" ; 
     return 0;
 }
 else if (o1 != 1 && o2 != 1) {
    cout << "not compatible" ;
     return 0; 
 }
 else {cout << "compatible" ;}
}

Grading criterion: Printing compatible / not compatible correctly
Rating A: Correctly prints compatible or not compatible based on combining all the conditions above

Rating B: some issue
Rating C: major issue
Rating D: 0
Assigned grade: A
Problem: A multinational company wants to form a team consisting of two programmers for an upcoming project. The team selection depends on three distinct skills:

1. New Code
2. Debugging
3. Optimizing

Each programmer has a value of either 0 or 1 for each skill:
- 1 indicates the programmer is skilled in that area.
- 0 indicates the programmer is not skilled in that area.

Compatibility Condition:

Two programmers A and B are considered compatible if all the following conditions are satisfied:

1. Both programmers must be good at new code.
   (Both A and B must have a value of 1 for "new code".)

2. At least one programmer must be good at debugging.
   (Either A or B must have a value of 1 for "debugging".)

3. At least one programmer must be good at optimizing.
   (Either A or B must have a value of 1 for "optimizing".)

Write a C++ program to take the skill values of two programmers as input and determine whether they are compatible.

If they are compatible, print:
compatible

Otherwise, print:
not compatible

Note:
- Output must be in lowercase.
- Do not print any extra messages or prompts.

Input:
Six integers representing the skills of two programmers:
A_new A_debug A_opt B_new B_debug B_opt

Output:
Print "compatible" if conditions are satisfied, otherwise print "not compatible".

Student submission:
#include <simplecpp>

main_program{
    bool nc1,db1,op1;
    cin>>nc1>>db1>>op1;
    bool nc2,db2,op2;
    cin>>nc2>>db2>>op2;

    if(nc1&&nc2){
        if(db1||db2){
            if(op1||op2){
                cout<<"compatible";
            }else{
                cout<<"not compatible";
            }
        }else{
            cout<<"not compatible";
        }
    }else{
        cout<<"not compatible";
    }
}

Grading criterion: Printing compatible / not compatible correctly
Rating A: Correctly prints compatible or not compatible based on combining all the conditions above

Rating B: some issue
Rating C: major issue
Rating D: 0
Assigned grade: A
Problem: A multinational company wants to form a team consisting of two programmers for an upcoming project. The team selection depends on three distinct skills:

1. New Code
2. Debugging
3. Optimizing

Each programmer has a value of either 0 or 1 for each skill:
- 1 indicates the programmer is skilled in that area.
- 0 indicates the programmer is not skilled in that area.

Compatibility Condition:

Two programmers A and B are considered compatible if all the following conditions are satisfied:

1. Both programmers must be good at new code.
   (Both A and B must have a value of 1 for "new code".)

2. At least one programmer must be good at debugging.
   (Either A or B must have a value of 1 for "debugging".)

3. At least one programmer must be good at optimizing.
   (Either A or B must have a value of 1 for "optimizing".)

Write a C++ program to take the skill values of two programmers as input and determine whether they are compatible.

If they are compatible, print:
compatible

Otherwise, print:
not compatible

Note:
- Output must be in lowercase.
- Do not print any extra messages or prompts.

Input:
Six integers representing the skills of two programmers:
A_new A_debug A_opt B_new B_debug B_opt

Output:
Print "compatible" if conditions are satisfied, otherwise print "not compatible".

Student submission:
#include<simplecpp>
main_program{
    int a,b,c;
    int x,y,z;
    int j=0,k=0,m=0;
    cin>>a>>b>>c;
    cin>>x>>y>>z;
    if(a==1 && x==1){
        j=1;
    }
    if (b==1 || y==1){
        k=1;
    }
    if (c==1 || z==1){
        m=1;
    }
    if (j==1 && k==1 && m==1){
        cout<<"compatible";
    }else{
        cout<<"not compatible";
    }
}

Grading criterion: Printing compatible / not compatible correctly
Rating A: Correctly prints compatible or not compatible based on combining all the conditions above

Rating B: some issue
Rating C: major issue
Rating D: 0
Assigned grade: A
Problem: A multinational company wants to form a team consisting of two programmers for an upcoming project. The team selection depends on three distinct skills:

1. New Code
2. Debugging
3. Optimizing

Each programmer has a value of either 0 or 1 for each skill:
- 1 indicates the programmer is skilled in that area.
- 0 indicates the programmer is not skilled in that area.

Compatibility Condition:

Two programmers A and B are considered compatible if all the following conditions are satisfied:

1. Both programmers must be good at new code.
   (Both A and B must have a value of 1 for "new code".)

2. At least one programmer must be good at debugging.
   (Either A or B must have a value of 1 for "debugging".)

3. At least one programmer must be good at optimizing.
   (Either A or B must have a value of 1 for "optimizing".)

Write a C++ program to take the skill values of two programmers as input and determine whether they are compatible.

If they are compatible, print:
compatible

Otherwise, print:
not compatible

Note:
- Output must be in lowercase.
- Do not print any extra messages or prompts.

Input:
Six integers representing the skills of two programmers:
A_new A_debug A_opt B_new B_debug B_opt

Output:
Print "compatible" if conditions are satisfied, otherwise print "not compatible".

Student submission:
#include<simplecpp>
main_program{
    bool a,b,c,d,e,f;
    cin>>a >>b>> c;
    cin>>d >>e >>f;
bool g,h,i;
g=a&d;h=b|e;i=c|f;
if (g==1&&h==1&&i==1){cout<<"compatible";}
else{cout<<"not compatible";}}

Grading criterion: Printing compatible / not compatible correctly
Rating A: Correctly prints compatible or not compatible based on combining all the conditions above

Rating B: some issue
Rating C: major issue
Rating D: 0
Assigned grade: A
Problem: A multinational company wants to form a team consisting of two programmers for an upcoming project. The team selection depends on three distinct skills:

1. New Code
2. Debugging
3. Optimizing

Each programmer has a value of either 0 or 1 for each skill:
- 1 indicates the programmer is skilled in that area.
- 0 indicates the programmer is not skilled in that area.

Compatibility Condition:

Two programmers A and B are considered compatible if all the following conditions are satisfied:

1. Both programmers must be good at new code.
   (Both A and B must have a value of 1 for "new code".)

2. At least one programmer must be good at debugging.
   (Either A or B must have a value of 1 for "debugging".)

3. At least one programmer must be good at optimizing.
   (Either A or B must have a value of 1 for "optimizing".)

Write a C++ program to take the skill values of two programmers as input and determine whether they are compatible.

If they are compatible, print:
compatible

Otherwise, print:
not compatible

Note:
- Output must be in lowercase.
- Do not print any extra messages or prompts.

Input:
Six integers representing the skills of two programmers:
A_new A_debug A_opt B_new B_debug B_opt

Output:
Print "compatible" if conditions are satisfied, otherwise print "not compatible".

Student submission:
#include <simplecpp>

main_program {
    int nc1=0, nc2=0, dbg1=0, dbg2=0, opt1=0, opt2=0; // nc for new code, dbg for debugging,opt for optimizing
    cin >> nc1 >> dbg1 >> opt1;
    cin >> nc2 >> dbg2 >> opt2;
    if((nc1==1 && nc2==1) && (dbg1==1 || dbg2==1) && (opt1==1 || opt2==1))
    cout << "compatible";
    else
    cout<< "not compatible";

    

}

Grading criterion: Printing compatible / not compatible correctly
Rating A: Correctly prints compatible or not compatible based on combining all the conditions above

Rating B: some issue
Rating C: major issue
Rating D: 0
Assigned grade: A
Problem: A multinational company wants to form a team consisting of two programmers for an upcoming project. The team selection depends on three distinct skills:

1. New Code
2. Debugging
3. Optimizing

Each programmer has a value of either 0 or 1 for each skill:
- 1 indicates the programmer is skilled in that area.
- 0 indicates the programmer is not skilled in that area.

Compatibility Condition:

Two programmers A and B are considered compatible if all the following conditions are satisfied:

1. Both programmers must be good at new code.
   (Both A and B must have a value of 1 for "new code".)

2. At least one programmer must be good at debugging.
   (Either A or B must have a value of 1 for "debugging".)

3. At least one programmer must be good at optimizing.
   (Either A or B must have a value of 1 for "optimizing".)

Write a C++ program to take the skill values of two programmers as input and determine whether they are compatible.

If they are compatible, print:
compatible

Otherwise, print:
not compatible

Note:
- Output must be in lowercase.
- Do not print any extra messages or prompts.

Input:
Six integers representing the skills of two programmers:
A_new A_debug A_opt B_new B_debug B_opt

Output:
Print "compatible" if conditions are satisfied, otherwise print "not compatible".

Student submission:
#include <simplecpp>
main_program {
        int nca,ncb,da,db,oa,ob;
        cin >> nca >> da >> oa;
        cin >> ncb >> db >> oa;
        int nc,d,o;
        nc=(nca==1 && ncb==1 ? 1 : 0);
        d=(da==1 || db==1 ? 1 : 0);
        o=(oa=1 || ob==1 ? 1: 0);

        if(nc==1 && (o==1 || d ==1)) {
                cout << "compatible" << endl;
        }
        else {
                cout << "not compatible" << endl;
        }
}

Grading criterion: Printing compatible / not compatible correctly
Rating A: Correctly prints compatible or not compatible based on combining all the conditions above

Rating B: some issue
Rating C: major issue
Rating D: 0
Assigned grade: A
Problem: A multinational company wants to form a team consisting of two programmers for an upcoming project. The team selection depends on three distinct skills:

1. New Code
2. Debugging
3. Optimizing

Each programmer has a value of either 0 or 1 for each skill:
- 1 indicates the programmer is skilled in that area.
- 0 indicates the programmer is not skilled in that area.

Compatibility Condition:

Two programmers A and B are considered compatible if all the following conditions are satisfied:

1. Both programmers must be good at new code.
   (Both A and B must have a value of 1 for "new code".)

2. At least one programmer must be good at debugging.
   (Either A or B must have a value of 1 for "debugging".)

3. At least one programmer must be good at optimizing.
   (Either A or B must have a value of 1 for "optimizing".)

Write a C++ program to take the skill values of two programmers as input and determine whether they are compatible.

If they are compatible, print:
compatible

Otherwise, print:
not compatible

Note:
- Output must be in lowercase.
- Do not print any extra messages or prompts.

Input:
Six integers representing the skills of two programmers:
A_new A_debug A_opt B_new B_debug B_opt

Output:
Print "compatible" if conditions are satisfied, otherwise print "not compatible".

Student submission:
#include <simplecpp>
bool newcode(bool a,bool b){
    bool k=0;
    if(a==1 && b==1){
        k=1;
    }
    return k;
}
bool debug(bool a,bool b){
    bool k=0;
    if(a==1 || b==1){
        k=1;
    }
    return k;
}
bool optimize(bool a,bool b){
    bool k=0;
    if(a==1 || b==1){
        k=1;
    }
    return k;
}

main_program{
    bool a,b,c,d,e,f,t =0,x=0,y=0;
    cin>>a>>b>>c ;
    cin>>d>>e>>f ;
    if(newcode(a,d)==1) t=1;
    if(debug(b,e)==1) x=1;
    if(optimize(c,f)==1) y=1;

    if(t==1 && x==1 && y==1){
        cout<<"compatible";
    }else{
        cout<<"not compatible";
    }

}

Grading criterion: Printing compatible / not compatible correctly
Rating A: Correctly prints compatible or not compatible based on combining all the conditions above

Rating B: some issue
Rating C: major issue
Rating D: 0
Assigned grade: A
Problem: A multinational company wants to form a team consisting of two programmers for an upcoming project. The team selection depends on three distinct skills:

1. New Code
2. Debugging
3. Optimizing

Each programmer has a value of either 0 or 1 for each skill:
- 1 indicates the programmer is skilled in that area.
- 0 indicates the programmer is not skilled in that area.

Compatibility Condition:

Two programmers A and B are considered compatible if all the following conditions are satisfied:

1. Both programmers must be good at new code.
   (Both A and B must have a value of 1 for "new code".)

2. At least one programmer must be good at debugging.
   (Either A or B must have a value of 1 for "debugging".)

3. At least one programmer must be good at optimizing.
   (Either A or B must have a value of 1 for "optimizing".)

Write a C++ program to take the skill values of two programmers as input and determine whether they are compatible.

If they are compatible, print:
compatible

Otherwise, print:
not compatible

Note:
- Output must be in lowercase.
- Do not print any extra messages or prompts.

Input:
Six integers representing the skills of two programmers:
A_new A_debug A_opt B_new B_debug B_opt

Output:
Print "compatible" if conditions are satisfied, otherwise print "not compatible".

Student submission:
#include<simplecpp>
main_program{
bool skillValueA;
bool skillValueB;
cout << "";
cin >> skillValueA;
cout << "";
cin >> skillValueB;
if((skillValueA && skillValueB) &&  (skillValueA || skillValueB) &&  (skillValueA || skillValueB) ){
cout << "compatible";
}
else{
cout << "non-compatible";
}
}

Grading criterion: Printing compatible / not compatible correctly
Rating A: Correctly prints compatible or not compatible based on combining all the conditions above

Rating B: some issue
Rating C: major issue
Rating D: 0
Assigned grade: C
Problem: A multinational company wants to form a team consisting of two programmers for an upcoming project. The team selection depends on three distinct skills:

1. New Code
2. Debugging
3. Optimizing

Each programmer has a value of either 0 or 1 for each skill:
- 1 indicates the programmer is skilled in that area.
- 0 indicates the programmer is not skilled in that area.

Compatibility Condition:

Two programmers A and B are considered compatible if all the following conditions are satisfied:

1. Both programmers must be good at new code.
   (Both A and B must have a value of 1 for "new code".)

2. At least one programmer must be good at debugging.
   (Either A or B must have a value of 1 for "debugging".)

3. At least one programmer must be good at optimizing.
   (Either A or B must have a value of 1 for "optimizing".)

Write a C++ program to take the skill values of two programmers as input and determine whether they are compatible.

If they are compatible, print:
compatible

Otherwise, print:
not compatible

Note:
- Output must be in lowercase.
- Do not print any extra messages or prompts.

Input:
Six integers representing the skills of two programmers:
A_new A_debug A_opt B_new B_debug B_opt

Output:
Print "compatible" if conditions are satisfied, otherwise print "not compatible".

Student submission:
#include <simplecpp>
bool fun1(bool a, bool b){
    bool c= a*b;
    if (c==1) return 1;
    else return 0;
}
bool fun2(bool a, bool b){
    bool c= a+b;
    if (c==1) return 1;
    else return 0;
}
main_program{
    int x=0;
    for (int i=1; i<=3; i++){
        if(i!=1){
            bool a, b;
            cin>>a>>b;
            bool c=fun2(a,b);
            if (c==0) {
                cout << "not compatible";
                break;
            }
            x+=1;
            continue;
        }
        else{
            bool a, b;
            cin>>a>>b;
            bool c=fun1(a,b);
            if (c==0) {
                cout << "not compatible";
                break;
            }
            x+=1;
        }
    }
    if(x==3) cout<< "compatible";
}

Grading criterion: Printing compatible / not compatible correctly
Rating A: Correctly prints compatible or not compatible based on combining all the conditions above

Rating B: some issue
Rating C: major issue
Rating D: 0
Assigned grade: B