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{
    int x1 , x2 , x3 , x4 , x5 , x6;
    cin >> x1 >> x2 >> x3 >> x4 >> x5 >> x6;
    if((x1==1&&x4 == 1) && (x2==1||x5 == 1) && (x3==1||x6 == 1) ){
    
        cout << "compatible";
    }
    else {
        cout << "not compatible";
    }
}

Grading criterion: Checking New Code Condition
Rating A: Correctly checks the new code condition using AND

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, debugA, debugB, optA, optB;
    cin >> ncA >> debugA >> optA;
    cin >> ncB >> debugB >> optB;

    if(ncA==1 && ncB==1){
        if(debugA==1||debugB==1){
            if(optA==1||optB==1){
                cout << "compatible" << endl;
            }
        }
    } else cout << "not compatible" << endl;
}

Grading criterion: Checking New Code Condition
Rating A: Correctly checks the new code condition using AND

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<iostream>
using namespace std;
int main(){
    int newcode1,debugging1,optimizing1;
    int newcode2,debugging2,optimizing2;
    cin>>newcode1>>debugging1>>optimizing1;
    cin>>newcode2>>debugging2>>optimizing2;
    if(newcode1+newcode2==2){
        if(debugging1+debugging2>=1){
            if(optimizing1+optimizing2>=1){
            cout<<"compatible";
            }else{
                cout<<"not compatible";
            }
        }else{
         cout<<"not compatible";
        }
    }else{
        cout<<"not compatible";
    }

}

Grading criterion: Checking New Code Condition
Rating A: Correctly checks the new code condition using AND

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,op1; cin>>n1>>d1>>op1;
    int n2,d2,op2; cin>>n2>>d2>>op2;

    

    if( (n1 && n2) && (d1 || d2)){
        if(op1 || op2){
        cout<<"compatible"; }

    }
    else{
        cout<<"not compatible";
    }
}

Grading criterion: Checking New Code Condition
Rating A: Correctly checks the new code condition using AND

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,nc2,d1,d2,o1,o2,ctr=0;
    cin >> nc1 >> d1 >> o1;
    cin >> nc2 >> d2 >> o2;
    if(nc1==1 && nc2==1){
        ctr++;
    }
    if(d1==1 || d2==1){
        ctr++;
    }
    if(o1==1 || o2==1){
        ctr++;
    }
    if(ctr==3){
        cout << "compatible";
    }
    else{
        cout << "not compatible";
    }
}

Grading criterion: Checking New Code Condition
Rating A: Correctly checks the new code condition using AND

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 n1;
bool n2;
bool d1;
bool d2;
bool o1;
bool o2;
cin>>n1>>d1>>o1;
cin>>n2>>d2>>o2;



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

       }
       else{
        cout<<"not compatible";
       }

}

else{
    cout<< "not compatible";
}


}

Grading criterion: Checking New Code Condition
Rating A: Correctly checks the new code condition using AND

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 x=1,y=1;
    cin>>x>>y;
    if (x>0 || y>0){
        cout<<" compatible";
    }else{
        cout<<" non-compatible";
    }
    int a=1,b=1;
    cin>>a>>b;
    if (a>0 || b>0){
        cout<<" compatible";
    }else{
        cout<<" non-compatible";
    }
    int i=1,j=1;
    cin>>i>>j;
    if (i>0 || j>0){
        cout<<" compatible";
    }else{
        cout<<" non-compatible";
    }
   
}

Grading criterion: Checking New Code Condition
Rating A: Correctly checks the new code condition using AND

Rating B: some issue
Rating C: major issue
Rating D: 0
Assigned grade: B
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 int1;
    int int2;
    cin >>int1 int2;
    {if(int1=1&&int2=1){cout<<"compatible";}
    else{cout<<"not compatible";}
    }    

}

Grading criterion: Checking New Code Condition
Rating A: Correctly checks the new code condition using AND

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>
main_program{
    bool skill1A,skill2A,skill3A;
    cin>>skill1A>>skill2A>>skill3A;
    bool skill1B,skill2B,skill3B;
    cin>>skill1B>>skill2B>>skill3B;
    bool flag1,flag2,flag3;
if(skill1A==1 && skill1B==1) flag1=1;
else flag1=0;
if(skill2A==1 || skill2B==1) flag2=1;
else flag3=0;
if(skill3A==1 || skill3B==1) flag3=1;
else flag3=0;
if(flag1==1 && flag2==1 && flag3==1){
    cout<<"compatible";
}
else cout<<"not compatible";

}

Grading criterion: Checking New Code Condition
Rating A: Correctly checks the new code condition using AND

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;
    int b;
    int c;
    int d;
    int e;
    int f;
    int x;
    int y;
    int z;
    cin >> a >> b >> c;
    cin >> d >> e >> f;
    x = (( a == 1 && d == 1 )? 1:0);
    y = ((b == 1 || e == 1)? 1: 0);
    z = (( c==1 || f == 1)? 1: 0);
    if (bool (x && y && z)){
        cout << "compatible" << endl;
    }
    else {
        cout << "not compatible" << endl;
    }
}

Grading criterion: Checking New Code Condition
Rating A: Correctly checks the new code condition using AND

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>

int main(){
    int new1;
    int deb1;
    int opt1;
    int new2;
    int deb2;
    int opt2;

    cin >> new1 >> deb1 >> opt1 >> new2 >> deb2 >> opt2;

    if( (new1 && new2) && (deb1 || deb2) && (opt1 || opt2) ){
        cout << "compatible";
    }else{
        cout << "not compatible";
    }
}

Grading criterion: Checking New Code Condition
Rating A: Correctly checks the new code condition using AND

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
{
    short int n=0;
    for(int i=1;i<=6; i++)
    {
        int j;
        cin >> j;
        n=n << 1;
        n=n+j;
    }
    cout << n << endl ;
    if(n==39||n==46||n==53||n==60||n==55||n==47||n==61||n==62||n==63)
         cout << "compatible" << endl;
    else
         cout << "not compatible" << endl;
}
/*
     OR  (But the code below requires so many int or bool variables they occupy much space)
#include<simplecpp>
main_program
{
    int new_code_skill1, new_code_skill2, debug_skill1, debug_skill2, opt_skill1, opt_skill2 ;
    cin >> new_code_skill1 >> debug_skill1 >> opt_skill1 ;
    cin >> new_code_skill2 >> debug_skill2 >> opt_skill2 ;
    if(new_code_skill1==new_code_skill2)
    {
        if(debug_skill1==1 || debug_skill2==1)
        {
            if(opt_skill1==1 || opt_skill2==1)
                cout << "compatible" << endl;
            else 
                cout << "not compatible" << endl;
        }
        else 
             cout << "not compatible" << endl;
    }
    else 
        cout << "not compatible" << endl;
}
*/

Grading criterion: Checking New Code Condition
Rating A: Correctly checks the new code condition using AND

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