1610 - Number Steps
时间限制 : 1 秒
内存限制 : 32 MB
Starting from point (0,0) on a plane, we have written all non-negative integers 0,1,2, ... as shown in the figure. For example, 1, 2, and 3 has been written at points (1,1), (2,0), and (3, 1) respectively and this pattern has continued.
<span style="font-family:宋体;font-size:10.5pt;">You are to write a program that reads the coordinates of a point (x, y), and writes the number (if any) that has been written at that point. (x, y) coordinates in the input are in the range 0...5000.</span>
题目输入
The first line of the input is N, the number of test cases for this problem. In each of the N following lines, there is x, and y representing the coordinates (x, y) of a point.
题目输出
For each point in the input, write the number written at that point or write No Number if there is none.
输入/输出样例
输入格式
3 1 1 14 12 62 63
输出格式
1 26 No Number
C语言解答
#include<stdio.h> int main() { int t,b,a; while(scanf("%d",&t)!=EOF) { while(t--) { scanf("%d%d",&a,&b); if(a==b) { if(a%2==0) printf("%d\n",a*2); if(a%2==1) printf("%d\n",a*2-1); } else if(a-2==b) { if(a%2==0) printf("%d\n",a*2-2); if(a%2==1) printf("%d\n",a*2-3); } else printf("No Number\n"); } } return 0; }
C++解答
#include <stdio.h> #include <stdlib.h> struct coordinate { int x; int y; }; int main() { struct coordinate *cde; int i, n; while(scanf("%d", &n) != EOF) { //初始化结构体数组 cde =(coordinate*) (malloc(sizeof(struct coordinate) * n)); //接收坐标点 for(i = 0; i < n; i ++) { scanf("%d %d", &cde[i].x, &cde[i].y); } //判断打印输出 for(i = 0; i < n; i ++) { if(cde[i].x == cde[i].y) { printf("%d\n", 4 * (cde[i].y / 2) + cde[i].y % 2); }else if(cde[i].x - 2 == cde[i].y) { printf("%d\n", 4 * (cde[i].y / 2) + cde[i].y % 2 + 2); }else { printf("No Number\n"); } } } }
Java解答
import java.util.*; public class Main{ final static Scanner jin=new Scanner(System.in); public static void main(String args[]){ int N=jin.nextInt(); while(N-->0){ int x=jin.nextInt(),y=jin.nextInt(); if((x==y||x==y+2)&&y>=0){ if(x%2==0)System.out.println(x+y); else System.out.println(x+y-1); } else System.out.println("No Number"); } } }