1255
备注:
|
2403
|
删除的内容标记成这样。 | 加入的内容标记成这样。 |
行号 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 }