[
板情報
|
カテゴリランキング
]
したらばTOP
■掲示板に戻る■
全部
1-100
最新50
|
メール
|
1-
101-
201-
301-
401-
501-
601-
701-
801-
901-
1001-
1101-
1201-
1301-
1401-
1501-
1601-
1701-
1801-
1901-
2001-
2101-
2201-
2301-
2401-
2501-
2601-
2701-
2801-
2901-
3001-
3101-
3201-
3301-
3401-
3501-
3601-
3701-
3801-
3901-
4001-
4101-
4201-
4301-
4401-
4501-
4601-
4701-
4801-
4901-
5001-
5101-
5201-
5301-
5401-
この機能を使うにはJavaScriptを有効にしてください
|
管理人の独り言(プログラミング関連)
196
:
◆rCEzuNnL0g
:2008/09/02(火) 19:44:11
此れを作るのに時間かかりすぎ。
四問目。
-----
#include <stdio.h>
#include <stdlib.h>
struct point{
int x;
int y;
};
int main(int argc, char **argv){
FILE *in = fopen("input.txt", "r");
FILE *out = fopen("output.txt", "w");
char buff[32];
int base_len, data_len; /*base : 探すの data: 星一杯*/
struct point *base, *data;
int def_x, def_y;
int i, j, k, l;
if(!in || !out) return -1;
fgets(buff, sizeof(buff), in);
base_len = atoi(buff);
base = calloc(base_len, sizeof(base[0]));
if(!base) return -2;
for(i = 0; i < base_len; i++){
fgets(buff, sizeof(buff), in);
sscanf(buff, "%d %d", &base[i].x, &base[i].y);
}
fgets(buff, sizeof(buff), in);
data_len = atoi(buff);
data = calloc(data_len, sizeof(data[0]));
if(!data) return -3;
for(i = 0; i < data_len; i++){
fgets(buff, sizeof(buff), in);
sscanf(buff, "%d %d", &data[i].x, &data[i].y);
}
for(i = 0; i < data_len; i++){
def_x = data[i].x - base[0].x;
def_y = data[i].y - base[0].y;
l = 0;
for(j = 1; j < base_len; j++){
for(k = 0; k < data_len; k++){
if(base[j].x + def_x == data[k].x && base[j].y + def_y == data[k].y) //見つかった
break;
}
if(k == data_len) //見つからなかった
break;
}
if(j == base_len) //見つかった
break;
}
fprintf(out, "%d %d", def_x, def_y);
return 0;
}
新着レスの表示
名前:
E-mail
(省略可)
:
※書き込む際の注意事項は
こちら
※画像アップローダーは
こちら
(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板