したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |

管理人の独り言(プログラミング関連)

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(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板