版本1和7间的区别 (跳过第6版)
于2006-03-11 16:04:22修订的的版本1
大小: 1255
编辑: czk
备注:
于2006-04-21 20:58:03修订的的版本7
大小: 2403
编辑: czk
备注:
删除的内容标记成这样。 加入的内容标记成这样。
行号 1: 行号 1:
Bee Maja
 Time limit: 1 Seconds Memory limit: 32768K
## page was renamed from 程序设计练习11——zju1954——Bee Maja
= Bee Maja =

http://acm.zju.edu.cn/show_problem.php?pid=1954

Time limit: 1 Seconds

Memory limit: 32768K
行号 5: 行号 11:
 But bee Maja has a problem. Willi told her where she can meet him, but because Willi is a male drone and Maja is a female worker they have different coordinate systems.
 Maja's Coordinate System
   Maja who often flies directly to a special honey comb has laid an advanced two dimensional grid over the whole hive.

But bee Maja has a problem. Willi told her where she can meet him, but because Willi is a male drone and Maja is a female worker they have different coordinate systems.

Maja's Coordinate System

attachment:1954-1.gif

Maja who often flies directly to a special honey comb has laid an advanced two dimensional grid over the whole hive.
行号 11: 行号 21:
   Willi who is more lazy and often walks around just numbered the cells clockwise starting from 1 in the middle of the hive.
 Help Maja to convert Willi's system to hers. Write a program which for a given honey comb number gives the coordinates in Maja's system.
 Input
 The input contains one or more integers which represent Willi's numbers. Each number stands on its own in a separate line, directly followed by a newline. The honey comb numbers are all less than 100 000.
行号 17: 行号 22:
Output
 You should output the corresponding Maja coordinates to Willi's numbers, each coordinate pair on a separate line.
attachment:1954-2.gif
行号 20: 行号 24:
Sample Input
 1
 2
 3
 4
 5
Willi who is more lazy and often walks around just numbered the cells clockwise starting from 1 in the middle of the hive.
行号 27: 行号 26:
Sample Output
 0 0
 0 1
 -1 1
 -1 0
 0 -1
Help Maja to convert Willi's system to hers. Write a program which for a given honey comb number gives the coordinates in Maja's system.

== Input ==
The input contains one or more integers which represent Willi's numbers. Each number stands on its own in a separate line, directly followed by a newline. The honey comb numbers are all less than 100 000.

== Output ==
You should output the corresponding Maja coordinates to Willi's numbers, each coordinate pair on a separate line.

== Sample Input ==
{{{
1
2
3
4
5
}}}
== Sample Output ==
{{{
0 0
0 1
-1 1
-1 0
0 -1
}}}


------
{{{#!cplusplus
/*Written by czk*/
#include <iostream>
#include <algorithm>
#include <string>
#include <cmath>
using namespace std;

int main() {
 int n;
 while(cin >> n ) {
  if(n==1) { cout << "0 0" << endl; continue; }
  double r = sqrt((double)(4*n-5)/3);
  int i = floor(r);
  if(i%2==0) i--;
  int level = (i-1)/2+1;
  int offset = n - 3*(level-1)*level-2;
  switch(offset / level) {
   case 0: cout << level-1 - offset % level<< ' ' << 1 + offset % level << endl; break;
   case 1: cout << -1 - offset % level <<' ' << level << endl; break;
   case 2: cout << - level << ' ' << level - 1 - offset % level << endl; break;
   case 3: cout << 1 - level + offset % level << ' ' << -1 - offset % level << endl; break;
   case 4: cout << 1 + offset % level << ' ' << - level << endl; break;
   case 5: cout << level << ' ' << 1 - level + offset % level << endl; break;
  }
 }
 return 0;
}
}}}

Bee Maja

http://acm.zju.edu.cn/show_problem.php?pid=1954

Time limit: 1 Seconds

Memory limit: 32768K

Maja is a bee. She lives in a bee hive with thousands of other bees. This bee hive consists of many hexagonal honey combs where the honey is stored in.

But bee Maja has a problem. Willi told her where she can meet him, but because Willi is a male drone and Maja is a female worker they have different coordinate systems.

Maja's Coordinate System

attachment:1954-1.gif

Maja who often flies directly to a special honey comb has laid an advanced two dimensional grid over the whole hive.

Willi's Coordinate System

attachment:1954-2.gif

Willi who is more lazy and often walks around just numbered the cells clockwise starting from 1 in the middle of the hive.

Help Maja to convert Willi's system to hers. Write a program which for a given honey comb number gives the coordinates in Maja's system.

1. Input

The input contains one or more integers which represent Willi's numbers. Each number stands on its own in a separate line, directly followed by a newline. The honey comb numbers are all less than 100 000.

2. Output

You should output the corresponding Maja coordinates to Willi's numbers, each coordinate pair on a separate line.

3. Sample Input

1
2
3
4
5

4. Sample Output

0 0
0 1
-1 1
-1 0
0 -1


   1 /*Written by czk*/
   2 #include <iostream>
   3 #include <algorithm>
   4 #include <string>
   5 #include <cmath>
   6 using namespace std;
   7 
   8 int main() {
   9         int n;
  10         while(cin >> n ) {
  11                 if(n==1) { cout << "0 0" << endl; continue; }
  12                 double r = sqrt((double)(4*n-5)/3);
  13                 int i = floor(r);
  14                 if(i%2==0) i--;
  15                 int level = (i-1)/2+1;
  16                 int offset = n - 3*(level-1)*level-2;
  17                 switch(offset / level) {
  18                         case 0: cout << level-1 - offset % level<< ' ' << 1 + offset % level << endl; break;
  19                         case 1: cout << -1 - offset % level <<' ' << level << endl; break;
  20                         case 2: cout << - level << ' ' << level - 1 - offset % level << endl; break;
  21                         case 3: cout << 1 - level + offset % level << ' ' << -1 - offset % level << endl; break;
  22                         case 4: cout << 1 + offset % level << ' ' << - level << endl; break;
  23                         case 5: cout << level << ' ' << 1 - level + offset % level << endl; break;
  24                 }
  25         }
  26         return 0;
  27 }

zju1954 (2008-06-01 13:25:35由czk编辑)

ch3n2k.com | Copyright (c) 2004-2020 czk.