ACM Hopscotch(挑战程序设计竞赛)
2014-10-15 11:16
405 查看
Hopscotch
Time Limit: 1000msMemory Limit: 65536KB
This problem will be judged on PKU.
Original ID: 3050
64-bit integer IO format: %lld
Java class name: Main
Prev
Submit Status Statistics Discuss
Next
Type:
None
None Graph Theory
2-SAT Articulation/Bridge/Biconnected Component
Cycles/Topological Sorting/Strongly Connected Component
Shortest Path
Bellman Ford Dijkstra/Floyd Warshall
Euler Trail/Circuit
Heavy-Light Decomposition Minimum Spanning Tree
Stable Marriage Problem
Trees Directed Minimum Spanning Tree
Flow/Matching
Graph Matching Bipartite Matching
Hopcroft–Karp Bipartite Matching
Weighted Bipartite Matching/Hungarian Algorithm
Flow
Max Flow/Min Cut Min Cost Max Flow
DFS-like
Backtracking with Pruning/Branch and Bound
Basic Recursion IDA* Search
Parsing/Grammar Breadth First Search/Depth First Search
Advanced Search Techniques
Binary Search/Bisection Ternary Search
Geometry
Basic Geometry Computational Geometry
Convex Hull
Pick's Theorem Game Theory
Green Hackenbush/Colon Principle/Fusion Principle
Nim Sprague-Grundy Number
Matrix Gaussian Elimination
Matrix Exponentiation Data Structures
Basic Data Structures Binary Indexed Tree
Binary Search Tree
Hashing Orthogonal Range Search
Range Minimum Query/Lowest Common Ancestor
Segment Tree/Interval Tree Trie Tree
Sorting
Disjoint Set String
Aho Corasick Knuth-Morris-Pratt
Suffix Array/Suffix Tree Math
Basic Math Big Integer Arithmetic
Number Theory Chinese Remainder Theorem
Extended Euclid
Inclusion/Exclusion Modular Arithmetic
Combinatorics
Group Theory/Burnside's lemma Counting
Probability/Expected Value
Others Tricky
Hardest Unusual
Brute Force Implementation
Constructive Algorithms Two Pointer
Bitmask Beginner
Discrete Logarithm/Shank's Baby-step Giant-step Algorithm
Greedy Divide and Conquer
Dynamic Programming
Tag it!
The cows play the child's game of hopscotch in a non-traditional way. Instead of a linear set of numbered boxes into which to hop, the cows create a 5x5 rectilinear grid of digits parallel to the x and y axes.
They then adroitly hop onto any digit in the grid and hop forward, backward, right, or left (never diagonally) to another digit in the grid. They hop again (same rules) to a digit (potentially a digit already visited).
With a total of five intra-grid hops, their hops create a six-digit integer (which might have leading zeroes like 000201).
Determine the count of the number of distinct integers that can be created in this manner.
Input
* Lines 1..5: The grid, five integers per line
Output
* Line 1: The number of distinct integers that can be constructed
Sample Input
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1
Sample Output
15
Source
USACO 2005 November Bronze#include <iostream> #include <cstdio> #include <set> using namespace std; #define MAX_N 5 int map[MAX_N][MAX_N]; set<int> table; int dx[]={1,-1,0,0}; int dy[]={0,0,1,-1}; void DFS(int x,int y,int cur,int num) { if(cur==5) { if(table.find(num)==table.end()) { table.insert(num); } return; } for(int i=0;i<4;i++) { int nx=x+dx[i],ny=y+dy[i]; if(nx>=0 && nx<5 && ny>=0 && ny<5) { DFS(nx,ny,cur+1,num*10+map[ny][nx]); } } } int main() { for(int i=0;i<5;i++) for(int j=0;j<5;j++) scanf("%d",&map[i][j]); for(int i=0;i<5;i++) for(int j=0;j<5;j++) { DFS(j,i,0,map[i][j]); } printf("%d\n",table.size()); return 0; }
相关文章推荐
- [挑战程序设计竞赛] POJ 3050 - Hopscotch
- ACM Red and Black(挑战程序设计竞赛)
- ACM Property Distribution(挑战程序设计竞赛)
- ACM Cleaning Shifts(挑战程序设计竞赛)
- ACM Stall Reservations(挑战程序设计竞赛)
- ACM Meteor Shower(挑战程序设计竞赛)
- ACM Radar Installation(挑战程序设计竞赛)
- ACM Seven Puzzle(挑战程序设计竞赛)
- ACM Smallest Difference(挑战程序设计竞赛)
- ACM Yogurt factory(挑战程序设计竞赛)
- ACM Osenbei(挑战程序设计竞赛)
- ACM Backward Digit Sums(挑战程序设计竞赛)
- ACM Ball(挑战程序设计竞赛)
- 挑战程序设计竞赛——1.62Ants
- 山东省第四届ACM大学生程序设计竞赛 The number of steps(概率dp&全期望)
- 河南省第十届ACM大学生程序设计竞赛总结
- 山东省第一届ACM大学生程序设计竞赛 Shopping 水。。。。。。。
- “浪潮杯”山东省第八届ACM大学生程序设计竞赛 J
- ZZUOJ-1195-OS Job Scheduling(郑州大学第七届ACM大学生程序设计竞赛E题)
- 2010年山东省第一届ACM大学生程序设计竞赛:Balloons