输入一行5个整数:n,m,i,j,k
输出一行字符串代表Bob的生存概率
10 10 3 2 5
945/1024
var args = readline().split(' '); var n = parseInt(args[0]), m = parseInt(args[1]), i = parseInt(args[2]), j = parseInt(args[3]), k = parseInt(args[4]); var prePoints = [[i,j,1]]; var curPoints = []; function isInArea (pointX, pointY) { if(pointX >= 0 && pointX < n && pointY >= 0 && pointY < m) { return 1 } return 0; } function checkAndPushPoint (pointX, pointY, count) { if(isInArea(pointX, pointY)) { var item = curPoints.find((item) => item[0] == pointX && item[1] == pointY); if(item) { item[2] += count; } else { curPoints.push([pointX, pointY, count]) } } } for(var s = 1; s <= k; s++) { for(var p = 0, len = prePoints.length; p < len; p++) { var point = prePoints[p]; var x = point[0], y = point[1], count = point[2]; checkAndPushPoint(x-1,y,count); checkAndPushPoint(x+1,y,count); checkAndPushPoint(x,y-1,count); checkAndPushPoint(x,y+1,count); } prePoints = curPoints; curPoints = []; } var path = 0; for(var p = 0, len = prePoints.length; p < len; p++) { path += prePoints[p][2]; } var total = Math.pow(4,k); var gcd = gcd(path,total); function gcd(m, n) { return n == 0 ? m : gcd(n, m % n); } console.log(`${path/gcd}/${total/gcd}`)