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 n;
    int z;
    cin >> n, z ;
    int x=1;
    int y=0;
    if (n=z=x){cout<<"compatible";}
    else if (n!=z){ cout<< " not compatible";}
    else if(n=z=y){cout<<"compatible";}
    else {
        cout<< " not compatible";
    }
}

Grading criterion: Optimising Condition
Rating A: Correctly checks the Optimising condition using OR

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{
	int a1, a2, a3, b1, b2, b3;
	cin>>a1>>a2>>a3;
	cin>>b1>>b2>>b3;
	bool is_comp = true;
	if(a1 == 0 || b1 == 0)
		is_comp = false;
	else if(a2 == 0 && b2 == 0)
		is_comp = false;
	else if(a3 == 0 && b3 == 0)
		is_comp = false;

	if(is_comp)
		cout<<"compatible";
	else
		cout<<"not compatible";
}

Grading criterion: Optimising Condition
Rating A: Correctly checks the Optimising condition using OR

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 a1,a2,a3,b1,b2,b3; //a1,a2,a3 be newcode,debugging,optimizing respectively for first progammer and similar for second
    cin>>a1>>a2>>a3;
    cin>>b1>>b2>>b3;
    if ( (a1&b1) & (a2|b2) & (a3|b3)){ //all 3 conditions satisfied simultaneously as per question
        cout<<"compatible";
    }
    else{
        cout<<"not compatible";
    }
}

Grading criterion: Optimising Condition
Rating A: Correctly checks the Optimising condition using OR

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>>d>>e>>f;
    if((a==1 && b== 1 )&& (c==1||c==0||d==1||d==0 )&& (e==1||e==0||f==1||f==0))
    cout<<"compatible";
    else if( a==0 || b==0)
    cout<< "not compatible ";
    
    
   
    
}

Grading criterion: Optimising Condition
Rating A: Correctly checks the Optimising condition using OR

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 <iostream>
using namespace std;

int main () {
    int nA, dA, oA;
    int nB, dB, oB;
    cin >> nA >> dA >> oA;
    cin >> nB >> dB >> oB;
    if ((nA == 1 && nB == 1 ) && (dA == 1 || dB == 1) && (oA == 1 || oB ==1)){
        cout << "compatible";
    }
    else {
        cout << "not compatible";
    }
    return 0;

Grading criterion: Optimising Condition
Rating A: Correctly checks the Optimising condition using OR

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 ncode1,ncode2,debug1,debug2,optimal1,optimal2;
    cin>>ncode1>>debug1>>optimal1>>ncode2>>debug2>>optimal2;
    if(ncode1==1 && ncode2==1){
        if((debug1==1 || debug2==1) && (optimal1==1 || optimal2==1)){
           cout<<"compatible";
        }
        else cout<<"not compatible";
    }
    else cout<<"not compatible";
}

Grading criterion: Optimising Condition
Rating A: Correctly checks the Optimising condition using OR

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( c== 0 && f==0){
    cout<<"not compatible";
}

else if ( c==1 || f ==1 ){
    if (b==0 && e ==0){
        cout<<"not compatible";}
    else if (b==1 || e==1){
        if ( a== 1 && d==1){
            cout<<"compatible";}
        else if(a==0 || d== 0){
            cout<<"not compatible";}
    }
}









}

Grading criterion: Optimising Condition
Rating A: Correctly checks the Optimising condition using OR

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 nCodeA, nCodeB, dbA, dbB, optA, optB; 
	cin>>nCodeA>>dbA>>optA>>nCodeB>>dbB>>optB;
	if ((nCodeA && nCodeB) && (optA || optB) && (dbA || dbB)) cout<< "compatible";
	else cout<<"not compatible";
}

Grading criterion: Optimising Condition
Rating A: Correctly checks the Optimising condition using OR

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 na, da, oa;
    int nb, db, ob;
    cin>>na>>da>>oa;
    cin>>nb>>db>>ob;
    if((na==1 && nb==1) && (da==1 || db==1) && (oa==1 || ob==1))
    {
        cout<<"compatible";
    }
    else
        cout<<"not compatible";

}

Grading criterion: Optimising Condition
Rating A: Correctly checks the Optimising condition using OR

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 program(int a,int b,int c ,int d,int e,int f){
    bool p;
    if(a==d && a==1){
        if(b==1 || e==1){
            if(c==1 || f==1){
                p=1;
                
            }
            else{
                p=0;
                
                
            }

        }
        else{
            p=0;
            
            
        }

    }
    else {
        p=0;
        
    }
    
    return p;

}
main_program{
    int a,b,c,d,e,f;
    cin>>a>>b>>c>>d>>e>>f;
    bool q=program(a,b,c,d,e,f);
    if(q){
        cout<<"compatible";

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

Grading criterion: Optimising Condition
Rating A: Correctly checks the Optimising condition using OR

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 c1,d1,o1;
    int c2,d2,o2;
    cin>>c1>>d1>>o1;
    cin>>c2>>d2>>o2;

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

Grading criterion: Optimising Condition
Rating A: Correctly checks the Optimising condition using OR

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 >> d >> e >> f;
    int newcode, debug, optim;
    if( a == 1 && d == 1 ) {
        newcode = 1;
    } else {
        newcode = 0;
    }
    if ( b == 1 || e == 1 ) {
        debug = 1;
    } else {
        debug = 0;
    }
    if ( c == 1 || f == 1 ) {
        optim = 1;
    } else {
        optim = 0;
    }
    if ( newcode == 1 && debug == 1 && optim == 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,n2,d2,o2;
    cin>>n1>>d1>>o1>>n2>>d2>>o2;
    if((n1&&n2)&&(d1||d2)&&(o1||o2)){
        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