7. (15%) Design a polynomial-time algorithm for the following problem.
 Input: An n-node undirected graph G. 
Output:
 "'Yes', if there is a cycle of length at most n/2 (i.e., a cycle that has at most n/2 nodes) in G;
 "No", otherwise.
***Please give the high-level idea of your algorithm and explain why it has polynomial running time. ***