Add GEB pq checker.
This commit is contained in:
		
							parent
							
								
									2f086a2c28
								
							
						
					
					
						commit
						f4645e0598
					
				| 
						 | 
				
			
			@ -0,0 +1,54 @@
 | 
			
		|||
#include <stdio.h>
 | 
			
		||||
 | 
			
		||||
int
 | 
			
		||||
is_theorem_valid(char *candidate)
 | 
			
		||||
{
 | 
			
		||||
	int	 x = 0;
 | 
			
		||||
	int	 y = 0;
 | 
			
		||||
	int	 z = 0;
 | 
			
		||||
	int	 l = 0;
 | 
			
		||||
	char	*p = candidate;
 | 
			
		||||
 | 
			
		||||
	while (*p != 0) {
 | 
			
		||||
		if (*p == '-') {
 | 
			
		||||
			switch (l) {
 | 
			
		||||
			case 0:
 | 
			
		||||
				x++;
 | 
			
		||||
				break;
 | 
			
		||||
			case 1:
 | 
			
		||||
				y++;
 | 
			
		||||
				break;
 | 
			
		||||
			case 2:
 | 
			
		||||
				z++;
 | 
			
		||||
				break;
 | 
			
		||||
			default:
 | 
			
		||||
				return 0;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		else if (*p == 'p') {
 | 
			
		||||
			l = 1;
 | 
			
		||||
		}
 | 
			
		||||
		else if (*p == 'q') {
 | 
			
		||||
			l = 2;
 | 
			
		||||
		}
 | 
			
		||||
		p++;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if ((x + y) == z) {
 | 
			
		||||
		return 1;
 | 
			
		||||
	}
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int
 | 
			
		||||
main(int argc, char *argv[])
 | 
			
		||||
{
 | 
			
		||||
	for (int i = 1; i < argc; i++) {
 | 
			
		||||
		if (is_theorem_valid(argv[i])) {
 | 
			
		||||
			printf("  VALID: %s\n", argv[i]);
 | 
			
		||||
		}
 | 
			
		||||
		else {
 | 
			
		||||
			printf("INVALID: %s\n", argv[i]);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
		Reference in New Issue