Difference between revisions of "2024 AIME I Problems/Problem 11"

m (Solution 1)
m (Solution 1: the diagrams look way better now!! except really the orange should be red to be REALLY aesthetic, but red dots... :sob: :clown:)
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
==Problem==
 
==Problem==
 
Each vertex of a regular octagon is independently colored either red or blue with equal probability. The probability that the octagon can then be rotated so that all of the blue vertices end up at positions where there were originally red vertices is <math>\tfrac{m}{n}</math>, where <math>m</math> and <math>n</math> are relatively prime positive integers. What is <math>m+n</math>?
 
Each vertex of a regular octagon is independently colored either red or blue with equal probability. The probability that the octagon can then be rotated so that all of the blue vertices end up at positions where there were originally red vertices is <math>\tfrac{m}{n}</math>, where <math>m</math> and <math>n</math> are relatively prime positive integers. What is <math>m+n</math>?
 
==Video Solution ==
 
https://www.youtube.com/watch?v=Nf80-0Eo72E&t=4s&ab_channel=MegaMathChannel
 
  
 
==Solution 1==
 
==Solution 1==
Line 21: Line 18:
 
<asy>
 
<asy>
 
import graph;
 
import graph;
 
+
unitsize(1cm);
 +
filldraw(circle((0.5,1.207),2.5),green,black);
 
void oct11(int[] pts) {
 
void oct11(int[] pts) {
 
pair[] vertices = {(0,0),(1,0),(1.707,0.707),(1.707,1.707),(1,2.414),(0,2.414),(-0.707,1.707),(-0.707,0.707)};
 
pair[] vertices = {(0,0),(1,0),(1.707,0.707),(1.707,1.707),(1,2.414),(0,2.414),(-0.707,1.707),(-0.707,0.707)};
Line 27: Line 25:
 
for (int i = 0; i < 8; i+=1) {
 
for (int i = 0; i < 8; i+=1) {
 
if (pts[i] == 0) {
 
if (pts[i] == 0) {
dot(vertices[i], blue);
+
dot(vertices[i], blue+5);
 
}
 
}
 
if (pts[i] == 1) {
 
if (pts[i] == 1) {
dot(vertices[i], red);
+
dot(vertices[i], red+5);
 
}
 
}
 
}
 
}
Line 42: Line 40:
 
<asy>
 
<asy>
 
import graph;
 
import graph;
 
+
unitsize(1cm);
 +
filldraw(circle((0.5,1.207),2.5),orange,black);
 
void oct11(int[] pts) {
 
void oct11(int[] pts) {
 
pair[] vertices = {(0,0),(1,0),(1.707,0.707),(1.707,1.707),(1,2.414),(0,2.414),(-0.707,1.707),(-0.707,0.707)};
 
pair[] vertices = {(0,0),(1,0),(1.707,0.707),(1.707,1.707),(1,2.414),(0,2.414),(-0.707,1.707),(-0.707,0.707)};
Line 48: Line 47:
 
for (int i = 0; i < 8; i+=1) {
 
for (int i = 0; i < 8; i+=1) {
 
if (pts[i] == 0) {
 
if (pts[i] == 0) {
dot(vertices[i], blue);
+
dot(vertices[i], blue+5);
 
}
 
}
 
if (pts[i] == 1) {
 
if (pts[i] == 1) {
dot(vertices[i], red);
+
dot(vertices[i], red+5);
 
}
 
}
 
}
 
}
Line 63: Line 62:
 
<asy>
 
<asy>
 
import graph;
 
import graph;
 
+
unitsize(1cm);
 +
filldraw(circle((0.5,1.207),2.5),orange,black);
 
void oct11(int[] pts) {
 
void oct11(int[] pts) {
 
pair[] vertices = {(0,0),(1,0),(1.707,0.707),(1.707,1.707),(1,2.414),(0,2.414),(-0.707,1.707),(-0.707,0.707)};
 
pair[] vertices = {(0,0),(1,0),(1.707,0.707),(1.707,1.707),(1,2.414),(0,2.414),(-0.707,1.707),(-0.707,0.707)};
Line 69: Line 69:
 
for (int i = 0; i < 8; i+=1) {
 
for (int i = 0; i < 8; i+=1) {
 
if (pts[i] == 0) {
 
if (pts[i] == 0) {
dot(vertices[i], blue);
+
dot(vertices[i], blue+5);
 
}
 
}
 
if (pts[i] == 1) {
 
if (pts[i] == 1) {
dot(vertices[i], red);
+
dot(vertices[i], red+5);
 
}
 
}
 
}
 
}
Line 84: Line 84:
 
<asy>
 
<asy>
 
import graph;
 
import graph;
 
+
unitsize(1cm);
 +
filldraw(circle((0.5,1.207),2.5),orange,black);
 
void oct11(int[] pts) {
 
void oct11(int[] pts) {
 
pair[] vertices = {(0,0),(1,0),(1.707,0.707),(1.707,1.707),(1,2.414),(0,2.414),(-0.707,1.707),(-0.707,0.707)};
 
pair[] vertices = {(0,0),(1,0),(1.707,0.707),(1.707,1.707),(1,2.414),(0,2.414),(-0.707,1.707),(-0.707,0.707)};
Line 90: Line 91:
 
for (int i = 0; i < 8; i+=1) {
 
for (int i = 0; i < 8; i+=1) {
 
if (pts[i] == 0) {
 
if (pts[i] == 0) {
dot(vertices[i], blue);
+
dot(vertices[i], blue+5);
 
}
 
}
 
if (pts[i] == 1) {
 
if (pts[i] == 1) {
dot(vertices[i], red);
+
dot(vertices[i], red+5);
 
}
 
}
 
}
 
}
Line 105: Line 106:
 
<asy>
 
<asy>
 
import graph;
 
import graph;
 
+
unitsize(1cm);
 +
filldraw(circle((0.5,1.207),2.5),green,black);
 
void oct11(int[] pts) {
 
void oct11(int[] pts) {
 
pair[] vertices = {(0,0),(1,0),(1.707,0.707),(1.707,1.707),(1,2.414),(0,2.414),(-0.707,1.707),(-0.707,0.707)};
 
pair[] vertices = {(0,0),(1,0),(1.707,0.707),(1.707,1.707),(1,2.414),(0,2.414),(-0.707,1.707),(-0.707,0.707)};
Line 111: Line 113:
 
for (int i = 0; i < 8; i+=1) {
 
for (int i = 0; i < 8; i+=1) {
 
if (pts[i] == 0) {
 
if (pts[i] == 0) {
dot(vertices[i], blue);
+
dot(vertices[i], blue+5);
 
}
 
}
 
if (pts[i] == 1) {
 
if (pts[i] == 1) {
dot(vertices[i], red);
+
dot(vertices[i], red+5);
 
}
 
}
 
}
 
}
Line 126: Line 128:
 
<asy>
 
<asy>
 
import graph;
 
import graph;
 
+
unitsize(1cm);
 +
filldraw(circle((0.5,1.207),2.5),orange,black);
 
void oct11(int[] pts) {
 
void oct11(int[] pts) {
 
pair[] vertices = {(0,0),(1,0),(1.707,0.707),(1.707,1.707),(1,2.414),(0,2.414),(-0.707,1.707),(-0.707,0.707)};
 
pair[] vertices = {(0,0),(1,0),(1.707,0.707),(1.707,1.707),(1,2.414),(0,2.414),(-0.707,1.707),(-0.707,0.707)};
Line 132: Line 135:
 
for (int i = 0; i < 8; i+=1) {
 
for (int i = 0; i < 8; i+=1) {
 
if (pts[i] == 0) {
 
if (pts[i] == 0) {
dot(vertices[i], blue);
+
dot(vertices[i], blue+5);
 
}
 
}
 
if (pts[i] == 1) {
 
if (pts[i] == 1) {
dot(vertices[i], red);
+
dot(vertices[i], red+5);
 
}
 
}
 
}
 
}
Line 147: Line 150:
 
<asy>
 
<asy>
 
import graph;
 
import graph;
 
+
unitsize(1cm);
 +
filldraw(circle((0.5,1.207),2.5),green,black);
 
void oct11(int[] pts) {
 
void oct11(int[] pts) {
 
pair[] vertices = {(0,0),(1,0),(1.707,0.707),(1.707,1.707),(1,2.414),(0,2.414),(-0.707,1.707),(-0.707,0.707)};
 
pair[] vertices = {(0,0),(1,0),(1.707,0.707),(1.707,1.707),(1,2.414),(0,2.414),(-0.707,1.707),(-0.707,0.707)};
Line 153: Line 157:
 
for (int i = 0; i < 8; i+=1) {
 
for (int i = 0; i < 8; i+=1) {
 
if (pts[i] == 0) {
 
if (pts[i] == 0) {
dot(vertices[i], blue);
+
dot(vertices[i], blue+5);
 
}
 
}
 
if (pts[i] == 1) {
 
if (pts[i] == 1) {
dot(vertices[i], red);
+
dot(vertices[i], red+5);
 
}
 
}
 
}
 
}
Line 168: Line 172:
 
<asy>
 
<asy>
 
import graph;
 
import graph;
 
+
unitsize(1cm);
 +
filldraw(circle((0.5,1.207),2.5),green,black);
 
void oct11(int[] pts) {
 
void oct11(int[] pts) {
 
pair[] vertices = {(0,0),(1,0),(1.707,0.707),(1.707,1.707),(1,2.414),(0,2.414),(-0.707,1.707),(-0.707,0.707)};
 
pair[] vertices = {(0,0),(1,0),(1.707,0.707),(1.707,1.707),(1,2.414),(0,2.414),(-0.707,1.707),(-0.707,0.707)};
Line 174: Line 179:
 
for (int i = 0; i < 8; i+=1) {
 
for (int i = 0; i < 8; i+=1) {
 
if (pts[i] == 0) {
 
if (pts[i] == 0) {
dot(vertices[i], blue);
+
dot(vertices[i], blue+5);
 
}
 
}
 
if (pts[i] == 1) {
 
if (pts[i] == 1) {
dot(vertices[i], red);
+
dot(vertices[i], red+5);
 
}
 
}
 
}
 
}
Line 218: Line 223:
 
==Video Solution==
 
==Video Solution==
 
https://youtu.be/QnOatg7af7s
 
https://youtu.be/QnOatg7af7s
 +
 +
==Video Solution 2==
 +
https://www.youtube.com/watch?v=Nf80-0Eo72E&t=4s&ab_channel=MegaMathChannel
  
 
==See also==
 
==See also==

Latest revision as of 03:34, 16 December 2024

Problem

Each vertex of a regular octagon is independently colored either red or blue with equal probability. The probability that the octagon can then be rotated so that all of the blue vertices end up at positions where there were originally red vertices is $\tfrac{m}{n}$, where $m$ and $n$ are relatively prime positive integers. What is $m+n$?

Solution 1

Notice that the question's condition mandates all blues to go to reds, but reds do not necessarily have to go to blue. Let us do casework on how many blues there are.

If there are no blues whatsoever, there is only one case. This case is valid, as all of the (zero) blues have gone to reds. (One could also view it as: the location of all the blues now were not previously red.) Thus, we have $1$.

If there is a single blue somewhere, there are $8$ cases - where can the blue be? Each of these is valid.

If there are two blues, again, every case is valid, and there are $\dbinom82=28$ cases.

If there are three blues, every case is again valid; there are $\dbinom83=56$ such cases.

The case with four blues is trickier. Let us look at all possible subcases.

If all four are adjacent (as in the diagram below), it is obvious: we can simply reverse the diagram (rotate it by $4$ units) to achieve the problem's condition. There are $8$ possible ways to have $4$ adjacent blues, so this subcase contributes $8$. [asy] import graph; unitsize(1cm); filldraw(circle((0.5,1.207),2.5),green,black); void oct11(int[] pts) { pair[] vertices = {(0,0),(1,0),(1.707,0.707),(1.707,1.707),(1,2.414),(0,2.414),(-0.707,1.707),(-0.707,0.707)}; draw((0,0)--(1,0)--(1.707,0.707)--(1.707,1.707)--(1,2.414)--(0,2.414)--(-0.707,1.707)--(-0.707,0.707)--cycle); for (int i = 0; i < 8; i+=1) { if (pts[i] == 0) { dot(vertices[i], blue+5); } if (pts[i] == 1) { dot(vertices[i], red+5); } } }; int[] sus = {0,0,0,0,1,1,1,1}; oct11(sus); [/asy]

If three are adjacent and one is one away (as shown in the diagram below), we can not rotate the diagram to satisfy the question. This subcase does not work.

[asy] import graph; unitsize(1cm); filldraw(circle((0.5,1.207),2.5),orange,black); void oct11(int[] pts) { pair[] vertices = {(0,0),(1,0),(1.707,0.707),(1.707,1.707),(1,2.414),(0,2.414),(-0.707,1.707),(-0.707,0.707)}; draw((0,0)--(1,0)--(1.707,0.707)--(1.707,1.707)--(1,2.414)--(0,2.414)--(-0.707,1.707)--(-0.707,0.707)--cycle); for (int i = 0; i < 8; i+=1) { if (pts[i] == 0) { dot(vertices[i], blue+5); } if (pts[i] == 1) { dot(vertices[i], red+5); } } }; int[] sus = {0,0,0,1,0,1,1,1}; oct11(sus); [/asy]

If three are adjacent and one is two away, obviously it is not possible as there is nowhere for the three adjacent blues to go.

[asy] import graph; unitsize(1cm); filldraw(circle((0.5,1.207),2.5),orange,black); void oct11(int[] pts) { pair[] vertices = {(0,0),(1,0),(1.707,0.707),(1.707,1.707),(1,2.414),(0,2.414),(-0.707,1.707),(-0.707,0.707)}; draw((0,0)--(1,0)--(1.707,0.707)--(1.707,1.707)--(1,2.414)--(0,2.414)--(-0.707,1.707)--(-0.707,0.707)--cycle); for (int i = 0; i < 8; i+=1) { if (pts[i] == 0) { dot(vertices[i], blue+5); } if (pts[i] == 1) { dot(vertices[i], red+5); } } }; int[] sus = {0,0,0,1,1,0,1,1}; oct11(sus); [/asy]

If there are two adjacent pairs that are $1$ apart, it is not possible since we do not have anywhere to put the two pairs.

[asy] import graph; unitsize(1cm); filldraw(circle((0.5,1.207),2.5),orange,black); void oct11(int[] pts) { pair[] vertices = {(0,0),(1,0),(1.707,0.707),(1.707,1.707),(1,2.414),(0,2.414),(-0.707,1.707),(-0.707,0.707)}; draw((0,0)--(1,0)--(1.707,0.707)--(1.707,1.707)--(1,2.414)--(0,2.414)--(-0.707,1.707)--(-0.707,0.707)--cycle); for (int i = 0; i < 8; i+=1) { if (pts[i] == 0) { dot(vertices[i], blue+5); } if (pts[i] == 1) { dot(vertices[i], red+5); } } }; int[] sus = {0,0,1,0,0,1,1,1}; oct11(sus); [/asy]

If there are two adjacent pairs that are $2$ apart, all of these cases are possible as we can rotate the diagram by $2$ vertices to work. There are $4$ of these cases.

[asy] import graph; unitsize(1cm); filldraw(circle((0.5,1.207),2.5),green,black); void oct11(int[] pts) { pair[] vertices = {(0,0),(1,0),(1.707,0.707),(1.707,1.707),(1,2.414),(0,2.414),(-0.707,1.707),(-0.707,0.707)}; draw((0,0)--(1,0)--(1.707,0.707)--(1.707,1.707)--(1,2.414)--(0,2.414)--(-0.707,1.707)--(-0.707,0.707)--cycle); for (int i = 0; i < 8; i+=1) { if (pts[i] == 0) { dot(vertices[i], blue+5); } if (pts[i] == 1) { dot(vertices[i], red+5); } } }; int[] sus = {0,0,1,1,0,0,1,1}; oct11(sus); [/asy]

If there is one adjacent pair and there are two separate ones each a distance of $1$ from the other, this case does not work.

[asy] import graph; unitsize(1cm); filldraw(circle((0.5,1.207),2.5),orange,black); void oct11(int[] pts) { pair[] vertices = {(0,0),(1,0),(1.707,0.707),(1.707,1.707),(1,2.414),(0,2.414),(-0.707,1.707),(-0.707,0.707)}; draw((0,0)--(1,0)--(1.707,0.707)--(1.707,1.707)--(1,2.414)--(0,2.414)--(-0.707,1.707)--(-0.707,0.707)--cycle); for (int i = 0; i < 8; i+=1) { if (pts[i] == 0) { dot(vertices[i], blue+5); } if (pts[i] == 1) { dot(vertices[i], red+5); } } }; int[] sus = {0,0,1,0,1,0,1,1}; oct11(sus); [/asy]

If we have one adjacent pair and two separate ones that are $2$ away from each other, we can flip the diagram by $4$ vertices. There are $8$ of these cases.

[asy] import graph; unitsize(1cm); filldraw(circle((0.5,1.207),2.5),green,black); void oct11(int[] pts) { pair[] vertices = {(0,0),(1,0),(1.707,0.707),(1.707,1.707),(1,2.414),(0,2.414),(-0.707,1.707),(-0.707,0.707)}; draw((0,0)--(1,0)--(1.707,0.707)--(1.707,1.707)--(1,2.414)--(0,2.414)--(-0.707,1.707)--(-0.707,0.707)--cycle); for (int i = 0; i < 8; i+=1) { if (pts[i] == 0) { dot(vertices[i], blue+5); } if (pts[i] == 1) { dot(vertices[i], red+5); } } }; int[] sus = {0,0,1,0,1,1,0,1}; oct11(sus); [/asy]

Finally, if the red and blues alternate, we can simply shift the diagram by a single vertex to satisfy the question. Thus, all of these cases work, and we have $2$ subcases.

[asy] import graph; unitsize(1cm); filldraw(circle((0.5,1.207),2.5),green,black); void oct11(int[] pts) { pair[] vertices = {(0,0),(1,0),(1.707,0.707),(1.707,1.707),(1,2.414),(0,2.414),(-0.707,1.707),(-0.707,0.707)}; draw((0,0)--(1,0)--(1.707,0.707)--(1.707,1.707)--(1,2.414)--(0,2.414)--(-0.707,1.707)--(-0.707,0.707)--cycle); for (int i = 0; i < 8; i+=1) { if (pts[i] == 0) { dot(vertices[i], blue+5); } if (pts[i] == 1) { dot(vertices[i], red+5); } } }; int[] sus = {0,1,0,1,0,1,0,1}; oct11(sus); [/asy]

There can not be more than $4$ blues, so we are done.

Our total is $1+8+28+56+8+4+8+2=115$. There are $2^8=256$ possible colorings, so we have $\dfrac{115}{256}$ and our answer is $115+256=\boxed{371}$.

~Technodoggo

Solution 2

Let $r$ be the number of red vertices and $b$ be the number of blue vertices, where $r+b=8$. By the Pigeonhole Principle, $r\geq{b} \Longrightarrow b\leq4$ if a configuration is valid.

We claim that if $b\leq3$, then any configuration is valid. We attempt to prove by the following:

If there are \[b\in{0,1,2}\] vertices, then intuitively any configuration is valid. For $b=3$, we do cases:

If all the vertices in $b$ are non-adjacent, then simply rotating once in any direction suffices. If there are $2$ adjacent vertices, then WLOG let us create a set $\{b_1,b_2,r_1\cdots\}$ where the third $b_3$ is somewhere later in the set. If we assign the set as $\{1,2,3,4,5,6,7,8\}$ and $b_3\leq4$, then intuitively, rotating it $4$ will suffice. If $b_3=5$, then rotating it by 2 will suffice. Consider any other $b_3>5$ as simply a mirror to a configuration of the cases.

Therefore, if $b\leq3$, then there are $\sum_{i=0}^{3}{\binom{8}{i}}=93$ ways. We do count the [i]degenerate[/i] case.

Now if $b=4$, we do casework on the number of adjacent vertices. 0 adjacent: $\{b_1,r_1,b_2,r_2\cdots{r_4}\}$. There are 4 axes of symmetry so there are only $\frac{8}{4}=2$ rotations of this configuration.

1 adjacent: WLOG $\{b_1,b_2\cdots{b_3}\cdots{b_4}\}$ where $b_4\neq{8}$. Listing out the cases and trying, we get that $b_3=4$ and $b_4=7$ is the only configuration. There are $8$ ways to choose $b_1$ and $b_2$ and the rest is set, so there are $8$ ways.

2 adjacent: We can have WLOG $\{b_1,b_2\cdots{b_3},b_4\}$ or $\{b_1,b_2,b_3\cdots\}$ where $b_4\neq{8}$. The former yields the case $b_3=5$ and $b_4=6$ by simply rotating it 2 times. The latter yields none. There are 2 axes of symmetry so there are $\frac{8}{2}=4$ configurations.

3 adjacent: WLOG $\{b_1,b_2,b_3,b_4\cdots\}$ which intuitively works. There are $8$ configurations here as $b_1$ can is unique.

In total, $b=4$ yields $2+8+4+8=22$ configurations.

There are $22+93=115$ configurations in total. There are $2^8=256$ total cases, so the probability is $\frac{115}{256}$. Adding them up, we get $115+256=\boxed{371}$.

Video Solution

https://youtu.be/QnOatg7af7s

Video Solution 2

https://www.youtube.com/watch?v=Nf80-0Eo72E&t=4s&ab_channel=MegaMathChannel

See also

2024 AIME I (ProblemsAnswer KeyResources)
Preceded by
Problem 10
Followed by
Problem 12
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
All AIME Problems and Solutions

The problems on this page are copyrighted by the Mathematical Association of America's American Mathematics Competitions. AMC logo.png