📄 pku1314.cpp
字号:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct
{
char c;
int x, y;
}Point;
Point p[27];
int N;
int cp(const void *a, const void *b)
{
Point *aa = (Point *)a;
Point *bb = (Point *)b;
return aa->c - bb->c;
}
void Solve(int T)
{
int i, j, k, found, sx, sy, ex, ey, x, y, m;
char s[2];
for (i = 0; i < N; i++)
{
scanf("%s %d %d", s, &x, &y);
p[i].c = s[0];
p[i].x = x;
p[i].y = y;
}
qsort(p, N, sizeof(p[0]), cp);
found = 0;
printf("Point set %d:", T);
for (i = 0; i < N; i++)
{
for (j = 0; j < N; j++)
{
for (k = 0; k < N; k++)
{
for (m = 0; m < N; m++)
{
sx = p[i].x;
sy = p[i].y;
ex = p[k].x;
ey = p[k].y;
if (sx < ex && sy > ey && p[j].x == ex && p[j].y == sy && p[m].x == sx && p[m].y == ey)
{
if (found % 10 == 0)
{
printf("\n");
}
printf(" %c%c%c%c", p[i].c, p[j].c, p[k].c, p[m].c);
found++;
}
}
}
}
}
if (found == 0)
{
printf(" No rectangles\n");
}
else
{
printf("\n");
}
}
int main()
{
int i;
char s[2];
int x, y, T;
T = 1;
while (scanf("%d", &N) != -1 && N)
{
Solve(T);
T++;
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -