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 n1,n2,n3;
    cin>>n1>>n2>>n3;
    int m1,m2,m3;;
    cin>>m1>>m2>>m3;
    if(n1!=1 || n2!=1)
    {
        cout<<"not compatible";
    }
    else
    {
        if(n2==1 || m2==1)
        {
            if(n3==1 || m3==1)
            cout<<"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: 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 a,b,c,d,e,f,newcode=0,debug=0,opti=0;
    cin>>a;
    cin>>b;
    cin>>c;
    cin>>d;
    cin>>e;
    cin>>f;

    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)) {opti=1;}
    else {opti=0;}

    if((newcode==1)&&(debug==1)&&(opti==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<iostream>
using namespace std;

int main(){
    int l,m,n;
    int a;
    int b;
    int c;
    int z;
    int y;
    int w;

    cout << "programmer A for new code press 1"<<endl;
    cout << "if you do not have any skill press 0"<<endl;
    cin >> a;
    cout << "programmer B for new code press 1"<<endl;
    cout << "if you do not have any skill press 0"<<endl;
    cin >> z;
    if (a ==1 && z ==1){
       l = 1 ;
        
    } else {
        l = 0;
    }
    cout << "programmer A for debugging press 2"<<endl;
    cout << "if you do not have any skill press 0"<<endl;
    cin >> b;
    cout << "programmer B debugging press 2"<<endl;
    cout << "if you do not have any skill press 0"<<endl;
    cin >> y;
    if (b ==2 && y ==2){
        m = 1;
        
    } else {
        m = 0;
    }
    
    cout << "programmer A for optimizing press 3"<<endl;
    cout << "if you do not have any skill press 0"<<endl;
    cin >> c;
    cout << "programmer B for optimizing press 3"<<endl;
    cout << "if you do not have any skill press 0"<<endl;
    cin >> w;
    if (c ==3 && w ==3){
        n = 1;

    } else {
        n = 0;
    }
    if (l ==1 && m == 1 && n ==1 ){
        cout << "compatible";
    } else {
        cout << "not compatible ";
    }
    
    return 0;
}

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 a ;
    bool b ;
    bool c ;

    bool d ;
    bool e ;
    bool f ;

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

    if ( (a==1 && d==1) && (b==1 || e==1 ) && (c==1 || f==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 A1,A2,A3,B1,B2,B3;
    cin >> A1 >> A2 >> A3;
    cin >> B1 >> B2 >> B3;
    if(A1==1 && B1==1){
          if(A2 == 1 || B2 == 1)  {
             if(A3 == 1 || B3 == 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<simplecpp>
main_program{
	int n1,d1,o1,n2,d2,o2;
	
	cin>>n1>>d1>>o1>>n2>>d2>>o2;
	
	if(((n1==1)&&(n2==1))&&((d1==1)||(d2==1))&&((o1==1)||(o2==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 <simplecpp>
main_program {
    int n;
    int m;
    cin >> n;
    cin >> m;
    int n1=n/100; m1=m/100;
    int n2=(n/10)%10; m2=(m/10)%10;
    int n3=(n%10); m3=(m%10);
    int temp=0;
    if (n1==1 && m1==1) temp+=1;
    if (n2==1 || m2==1) temp+=1;
    if (n3==1 || m3==1) temp+=1;

    if (temp==3) {
        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: 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 n, m;
    bool iscompatible = true;
    cin>>n>>m;
    while(n>=10){
        if(n%10==0 && m%10==0) iscompatible = false;
        n /= 10;
        m /= 10;
    }
    if((n%10==1 && m%10==1) && iscompatible) 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{
    int a,b,c;
    int e,f,g;
    cin>>a>>b>>c;
    cin>>e>>f>>g;
    if ((a==1 && e==1) && (b==1||f==1) && (c==1|| g==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<simplecpp>

void compare(int a, int b, int c,int d, int e, int f){

    bool ans=false;
    
    if(a==d){
        if((b==1 && e==1)){
            if((c==1 && f==1)|| (c==1 && f==0)||(c==0 && f==1)){
                ans=true;
            }
        }
        else if((b==1 && e==0)){
            if((c==1 && f==1)|| (c==1 && f==0)||(c==0 && f==1)){
                ans = true;
            }
        }
        else if((b==0 && e==1)){
            if((c==1 && f==1)|| (c==1 && f==0)||(c==0 && f==1)){
                ans = true;
            }
        }
    }
    else{
        ans=false;
    }

    if(ans==true){
        cout<<"compatible";
    }
    else if(ans==false){
        cout<<"not compatible";
    }
}

main_program{
    int a,b,c,d,e,f;
    cin>>a>>b>>c>>d>>e>>f;
    compare(a,b,c,d,e,f);
}

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 p1s1, p1s2, p1s3, p2s1, p2s2, p2s3; //p1=person 1, p2=person 2
    cin>>p1s1>>p1s2>>p1s3;
    cin>>p2s1>>p2s2>>p2s3; //s1=new code, s2=debugging, s3=optimizing
    if ((p1s1&&p2s1)&& (p1s2||p2s2) && (p1s3||p2s3)){
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 nc_a,db_a,op_a;
    int nc_b,db_b,op_b;
    cin>> nc_a>> db_a>> op_a;
    cin>> nc_b>> db_b>> op_b;
    if(nc_a+nc_b==2){
        if((db_a+db_b==1)||(db_a+db_b==2)){
            if((op_a+op_b==1)||(op_a+op_b==2)){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