#include #define SIZE 1000 struct Claim { int left; int top; int width; int height; int id; }; struct Claim parseClaim(char line[25]) { struct Claim claim; sscanf(line, "#%d @ %d,%d: %dx%d", &claim.id, &claim.left, &claim.top, &claim.width, &claim.height); return claim; } void resetFields(int fabric [SIZE][SIZE]) { for (int i=0; i 1) { sum++; } } } return sum; } int main() { int fabric [SIZE][SIZE]; FILE* input = fopen("input", "r"); char line [25]; resetFields(fabric); while (fgets(line, sizeof(line), input)) { struct Claim claim = parseClaim(line); setFields(claim, fabric); } printf("%d\n", countDoubles(fabric)); return 0; }