Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
确实是个token的水题!#include <iostream> #include <stdio.h> #include <cmath> using namespace std; int L; int token[404][404]; int token_[404][404]; int main() { while(scanf("%d", &L) > 0){ if(L == 0) break; for(int i = 0; i < L; i++) for(int j = 0; j < L; j++) scanf("%d", &token[i][j]); for(int i = 0; i < L; i++){ for(int j = 0; j < L; j++) scanf("%d", &token_[i][j]); } if(L == 1){ if(abs(0.0+token[0][0]-token_[0][0]) < 100.5){ printf("100.00\n"); } else printf("0.00\n"); continue; } int start[4][2] = {0}; start[1][1] = start[2][0] = start[3][0] = start[3][1] = L-1; int maxToken = 0; for(int i = 0; i < 4; i++){ int startX = start[i][0], startY = start[i][1]; int dirX, dirY; if(startX == 0) dirX = 1; else dirX = -1; if(startY == 0) dirY = 1; else dirY = -1; int cnt = 0; for(int i = 0; i < L; i++){ for(int j = 0; j < L; j++){ if(abs(0.0+token[i][j] - token_[startX+dirX*i][startY+dirY*j]) < 100.5){ cnt++; } } } if(cnt > maxToken) maxToken = cnt; cnt=0; for(int i = 0; i < L; i++){ for(int j = 0; j < L; j++){ if(abs(0.0+token[i][j] - token_[startX+dirX*j][startY+dirY*i]) < 100.5){ cnt++; } } } if(cnt > maxToken) maxToken = cnt; } printf("%.2lf\n", maxToken*100.0/L/L); } return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator