Y by cubres
An equilateral triangle is formed using
rows of coins. There is 1 coin in the first row, 2 coins in the second row, 3 coins in the third row, and so on, up to
coins in the
th row. Initially, all of the coins show heads (H). Carley plays a game in which, on each turn, she chooses three mutually adjacent coins and flips these three coins over. To win the game, all of the coins must be showing tails (T) after a sequence of turns. An example game with 4 rows of coins after a sequence of two turns is shown.
![[asy]
import graph;
size(100);
// Define constants
real radius = 0.3;
real v_dist = sqrt(3)/2;
pen coinPen = black+0.8;
pen linePen = gray+dotted+0.6;
pen labelPen = black;
pen fillPen = lightgray+opacity(0.5); // Semi-transparent fill
real labelScale = 0.8;
// Function to get coin position
pair P(int i, int j) {
return ( (j - (i+1.0)/2.0), -(i-1)*v_dist );
}
int n = 4;
pair[][] coinPos = new pair[n+1][];
for(int i=1; i<=n; ++i) {
coinPos[i] = new pair[i+1];
for(int j=1; j<=i; ++j) {
coinPos[i][j] = P(i,j);
}
}
// Highlight the two flipped triangles T(2,2) and T(3,5)
// T(2,2) involves (2,1), (2,2), (3,2) - Downward
pair pA1 = P(2,1); pair pA2 = P(2,2); pair pA3 = P(3,2);
fill(pA1--pA2--pA3--cycle, fillPen);
// T(3,5) involves (3,3), (4,3), (4,4) - Upward (using problem's naming convention)
// Or more standard: (i=3, j=3) up -> (3,3), (4,3), (4,4)
pair pB1 = P(3,3); pair pB2 = P(4,3); pair pB3 = P(4,4);
fill(pB1--pB2--pB3--cycle, fillPen);
// Draw connecting lines
for(int i=1; i<n; ++i) {
for(int j=1; j<=i; ++j) {
draw(coinPos[i][j] -- coinPos[i+1][j], linePen);
draw(coinPos[i][j] -- coinPos[i+1][j+1], linePen);
}
}
for(int i=1; i<=n; ++i) {
for(int j=1; j<i; ++j) {
draw(coinPos[i][j] -- coinPos[i][j+1], linePen);
}
}
// Draw coins (after fills)
for(int i=1; i<=n; ++i) {
for(int j=1; j<=i; ++j) {
draw(Circle(coinPos[i][j], radius), coinPen);
}
}
// Add H/T labels based on the example image
label(scale(labelScale)*"H", coinPos[1][1], labelPen);
label(scale(labelScale)*"T", coinPos[2][1], labelPen);
label(scale(labelScale)*"T", coinPos[2][2], labelPen);
label(scale(labelScale)*"H", coinPos[3][1], labelPen);
label(scale(labelScale)*"T", coinPos[3][2], labelPen);
label(scale(labelScale)*"T", coinPos[3][3], labelPen);
label(scale(labelScale)*"H", coinPos[4][1], labelPen);
label(scale(labelScale)*"H", coinPos[4][2], labelPen);
label(scale(labelScale)*"T", coinPos[4][3], labelPen);
label(scale(labelScale)*"T", coinPos[4][4], labelPen);
[/asy]](//latex.artofproblemsolving.com/7/8/4/7841e4b3d462255902a214d8a3fc2658045281b2.png)
Below (a), (b) and (c), you will find instructions about how to refer to these turns in your solutions.
(a) If there are 3 rows of coins, give a sequence of 4 turns that results in a win.
(b) Suppose that there are 4 rows of coins. Determine whether or not there is a sequence of turns that results in a win.
(c) Determine all values of
for which it is possible to win the game starting with
rows of coins.
Note: For a triangle with 4 rows of coins, there are 9 possibilities for the set of three coins that Carley can flip on a given turn. These 9 possibilities are shown as shaded triangles below:
![[asy]
import graph;
size(150); // Increased size for clarity
// Define constants
real radius = 0.3;
real v_dist = sqrt(3)/2;
pen coinPen = black+0.8;
pen linePen = gray+dotted+0.6;
pen labelPen = black;
pen fillPen = lightgray;
real labelScale = 0.6; // Smaller label scale
// Function to get coin position
pair P(int i, int j) {
return ( (j - (i+1.0)/2.0), -(i-1)*v_dist );
}
// Function to draw the grid and empty coins
void drawGrid(int n) {
pair[][] coinPos = new pair[n+1][];
for(int i=1; i<=n; ++i) {
coinPos[i] = new pair[i+1];
for(int j=1; j<=i; ++j) {
coinPos[i][j] = P(i,j);
}
}
// Draw connecting lines
for(int i=1; i<n; ++i) {
for(int j=1; j<=i; ++j) {
draw(coinPos[i][j] -- coinPos[i+1][j], linePen);
draw(coinPos[i][j] -- coinPos[i+1][j+1], linePen);
}
}
for(int i=1; i<=n; ++i) {
for(int j=1; j<i; ++j) {
draw(coinPos[i][j] -- coinPos[i][j+1], linePen);
}
}
// Draw coins (empty)
for(int i=1; i<=n; ++i) {
for(int j=1; j<=i; ++j) {
draw(Circle(coinPos[i][j], radius), coinPen);
}
}
}
// Function to draw a shaded UP triangle move and its label
void drawMoveUp(int i, int j, string lbl) {
pair p1 = P(i,j);
pair p2 = P(i+1,j);
pair p3 = P(i+1,j+1);
fill(p1--p2--p3--cycle, fillPen);
// Redraw circles on top
draw(Circle(p1, radius), coinPen);
draw(Circle(p2, radius), coinPen);
draw(Circle(p3, radius), coinPen);
// Label
label(scale(labelScale)*lbl, (p1+p2+p3)/3, labelPen);
}
int n=4;
drawGrid(n);
// Draw the 6 moves shown in the first diagram
drawMoveUp(1, 1, "$T(1,1)$");
drawMoveUp(2, 1, "$T(2,1)$");
drawMoveUp(2, 2, "$T(2,3)$"); // Note index from problem
drawMoveUp(3, 1, "$T(3,1)$");
drawMoveUp(3, 2, "$T(3,3)$"); // Note index from problem
drawMoveUp(3, 3, "$T(3,5)$"); // Note index from problem
[/asy]](//latex.artofproblemsolving.com/6/e/8/6e8a9d60edc162308f478e0f6cc241a20e462665.png)
![[asy]
import graph;
size(150); // Increased size for clarity
// Define constants
real radius = 0.3;
real v_dist = sqrt(3)/2;
pen coinPen = black+0.8;
pen linePen = gray+dotted+0.6;
pen labelPen = black;
pen fillPen = lightgray;
real labelScale = 0.6; // Smaller label scale
// Function to get coin position
pair P(int i, int j) {
return ( (j - (i+1.0)/2.0), -(i-1)*v_dist );
}
// Function to draw the grid and empty coins (same as before)
void drawGrid(int n) {
pair[][] coinPos = new pair[n+1][];
for(int i=1; i<=n; ++i) {
coinPos[i] = new pair[i+1];
for(int j=1; j<=i; ++j) {
coinPos[i][j] = P(i,j);
}
}
// Draw connecting lines
for(int i=1; i<n; ++i) {
for(int j=1; j<=i; ++j) {
draw(coinPos[i][j] -- coinPos[i+1][j], linePen);
draw(coinPos[i][j] -- coinPos[i+1][j+1], linePen);
}
}
for(int i=1; i<=n; ++i) {
for(int j=1; j<i; ++j) {
draw(coinPos[i][j] -- coinPos[i][j+1], linePen);
}
}
// Draw coins (empty)
for(int i=1; i<=n; ++i) {
for(int j=1; j<=i; ++j) {
draw(Circle(coinPos[i][j], radius), coinPen);
}
}
}
// Function to draw a shaded DOWN triangle move and its label
void drawMoveDown(int i, int j, string lbl) {
// Coins involved are (i,j), (i,j+1), (i+1, j+1)
pair p1 = P(i,j);
pair p2 = P(i,j+1);
pair p3 = P(i+1,j+1);
fill(p1--p2--p3--cycle, fillPen);
// Redraw circles on top
draw(Circle(p1, radius), coinPen);
draw(Circle(p2, radius), coinPen);
draw(Circle(p3, radius), coinPen);
// Label
label(scale(labelScale)*lbl, (p1+p2+p3)/3, labelPen);
}
int n=4;
drawGrid(n);
// Draw the 3 moves shown in the second diagram
drawMoveDown(2, 1, "$T(2,2)$"); // Corresponds to coins (2,1), (2,2), (3,2)
drawMoveDown(3, 1, "$T(3,2)$"); // Corresponds to coins (3,1), (3,2), (4,2)
drawMoveDown(3, 2, "$T(3,4)$"); // Corresponds to coins (3,2), (3,3), (4,3)
[/asy]](//latex.artofproblemsolving.com/3/1/a/31a1668332654ec625ce6a7ca414ef266fe18dbe.png)
[You should use the names for these moves shown inside the 9 shaded triangles when answering (b). You should adapt this naming convention in a suitable way when answering parts (a) and (c).]



![[asy]
import graph;
size(100);
// Define constants
real radius = 0.3;
real v_dist = sqrt(3)/2;
pen coinPen = black+0.8;
pen linePen = gray+dotted+0.6;
pen labelPen = black;
pen fillPen = lightgray+opacity(0.5); // Semi-transparent fill
real labelScale = 0.8;
// Function to get coin position
pair P(int i, int j) {
return ( (j - (i+1.0)/2.0), -(i-1)*v_dist );
}
int n = 4;
pair[][] coinPos = new pair[n+1][];
for(int i=1; i<=n; ++i) {
coinPos[i] = new pair[i+1];
for(int j=1; j<=i; ++j) {
coinPos[i][j] = P(i,j);
}
}
// Highlight the two flipped triangles T(2,2) and T(3,5)
// T(2,2) involves (2,1), (2,2), (3,2) - Downward
pair pA1 = P(2,1); pair pA2 = P(2,2); pair pA3 = P(3,2);
fill(pA1--pA2--pA3--cycle, fillPen);
// T(3,5) involves (3,3), (4,3), (4,4) - Upward (using problem's naming convention)
// Or more standard: (i=3, j=3) up -> (3,3), (4,3), (4,4)
pair pB1 = P(3,3); pair pB2 = P(4,3); pair pB3 = P(4,4);
fill(pB1--pB2--pB3--cycle, fillPen);
// Draw connecting lines
for(int i=1; i<n; ++i) {
for(int j=1; j<=i; ++j) {
draw(coinPos[i][j] -- coinPos[i+1][j], linePen);
draw(coinPos[i][j] -- coinPos[i+1][j+1], linePen);
}
}
for(int i=1; i<=n; ++i) {
for(int j=1; j<i; ++j) {
draw(coinPos[i][j] -- coinPos[i][j+1], linePen);
}
}
// Draw coins (after fills)
for(int i=1; i<=n; ++i) {
for(int j=1; j<=i; ++j) {
draw(Circle(coinPos[i][j], radius), coinPen);
}
}
// Add H/T labels based on the example image
label(scale(labelScale)*"H", coinPos[1][1], labelPen);
label(scale(labelScale)*"T", coinPos[2][1], labelPen);
label(scale(labelScale)*"T", coinPos[2][2], labelPen);
label(scale(labelScale)*"H", coinPos[3][1], labelPen);
label(scale(labelScale)*"T", coinPos[3][2], labelPen);
label(scale(labelScale)*"T", coinPos[3][3], labelPen);
label(scale(labelScale)*"H", coinPos[4][1], labelPen);
label(scale(labelScale)*"H", coinPos[4][2], labelPen);
label(scale(labelScale)*"T", coinPos[4][3], labelPen);
label(scale(labelScale)*"T", coinPos[4][4], labelPen);
[/asy]](http://latex.artofproblemsolving.com/7/8/4/7841e4b3d462255902a214d8a3fc2658045281b2.png)
Below (a), (b) and (c), you will find instructions about how to refer to these turns in your solutions.
(a) If there are 3 rows of coins, give a sequence of 4 turns that results in a win.
(b) Suppose that there are 4 rows of coins. Determine whether or not there is a sequence of turns that results in a win.
(c) Determine all values of


Note: For a triangle with 4 rows of coins, there are 9 possibilities for the set of three coins that Carley can flip on a given turn. These 9 possibilities are shown as shaded triangles below:
![[asy]
import graph;
size(150); // Increased size for clarity
// Define constants
real radius = 0.3;
real v_dist = sqrt(3)/2;
pen coinPen = black+0.8;
pen linePen = gray+dotted+0.6;
pen labelPen = black;
pen fillPen = lightgray;
real labelScale = 0.6; // Smaller label scale
// Function to get coin position
pair P(int i, int j) {
return ( (j - (i+1.0)/2.0), -(i-1)*v_dist );
}
// Function to draw the grid and empty coins
void drawGrid(int n) {
pair[][] coinPos = new pair[n+1][];
for(int i=1; i<=n; ++i) {
coinPos[i] = new pair[i+1];
for(int j=1; j<=i; ++j) {
coinPos[i][j] = P(i,j);
}
}
// Draw connecting lines
for(int i=1; i<n; ++i) {
for(int j=1; j<=i; ++j) {
draw(coinPos[i][j] -- coinPos[i+1][j], linePen);
draw(coinPos[i][j] -- coinPos[i+1][j+1], linePen);
}
}
for(int i=1; i<=n; ++i) {
for(int j=1; j<i; ++j) {
draw(coinPos[i][j] -- coinPos[i][j+1], linePen);
}
}
// Draw coins (empty)
for(int i=1; i<=n; ++i) {
for(int j=1; j<=i; ++j) {
draw(Circle(coinPos[i][j], radius), coinPen);
}
}
}
// Function to draw a shaded UP triangle move and its label
void drawMoveUp(int i, int j, string lbl) {
pair p1 = P(i,j);
pair p2 = P(i+1,j);
pair p3 = P(i+1,j+1);
fill(p1--p2--p3--cycle, fillPen);
// Redraw circles on top
draw(Circle(p1, radius), coinPen);
draw(Circle(p2, radius), coinPen);
draw(Circle(p3, radius), coinPen);
// Label
label(scale(labelScale)*lbl, (p1+p2+p3)/3, labelPen);
}
int n=4;
drawGrid(n);
// Draw the 6 moves shown in the first diagram
drawMoveUp(1, 1, "$T(1,1)$");
drawMoveUp(2, 1, "$T(2,1)$");
drawMoveUp(2, 2, "$T(2,3)$"); // Note index from problem
drawMoveUp(3, 1, "$T(3,1)$");
drawMoveUp(3, 2, "$T(3,3)$"); // Note index from problem
drawMoveUp(3, 3, "$T(3,5)$"); // Note index from problem
[/asy]](http://latex.artofproblemsolving.com/6/e/8/6e8a9d60edc162308f478e0f6cc241a20e462665.png)
![[asy]
import graph;
size(150); // Increased size for clarity
// Define constants
real radius = 0.3;
real v_dist = sqrt(3)/2;
pen coinPen = black+0.8;
pen linePen = gray+dotted+0.6;
pen labelPen = black;
pen fillPen = lightgray;
real labelScale = 0.6; // Smaller label scale
// Function to get coin position
pair P(int i, int j) {
return ( (j - (i+1.0)/2.0), -(i-1)*v_dist );
}
// Function to draw the grid and empty coins (same as before)
void drawGrid(int n) {
pair[][] coinPos = new pair[n+1][];
for(int i=1; i<=n; ++i) {
coinPos[i] = new pair[i+1];
for(int j=1; j<=i; ++j) {
coinPos[i][j] = P(i,j);
}
}
// Draw connecting lines
for(int i=1; i<n; ++i) {
for(int j=1; j<=i; ++j) {
draw(coinPos[i][j] -- coinPos[i+1][j], linePen);
draw(coinPos[i][j] -- coinPos[i+1][j+1], linePen);
}
}
for(int i=1; i<=n; ++i) {
for(int j=1; j<i; ++j) {
draw(coinPos[i][j] -- coinPos[i][j+1], linePen);
}
}
// Draw coins (empty)
for(int i=1; i<=n; ++i) {
for(int j=1; j<=i; ++j) {
draw(Circle(coinPos[i][j], radius), coinPen);
}
}
}
// Function to draw a shaded DOWN triangle move and its label
void drawMoveDown(int i, int j, string lbl) {
// Coins involved are (i,j), (i,j+1), (i+1, j+1)
pair p1 = P(i,j);
pair p2 = P(i,j+1);
pair p3 = P(i+1,j+1);
fill(p1--p2--p3--cycle, fillPen);
// Redraw circles on top
draw(Circle(p1, radius), coinPen);
draw(Circle(p2, radius), coinPen);
draw(Circle(p3, radius), coinPen);
// Label
label(scale(labelScale)*lbl, (p1+p2+p3)/3, labelPen);
}
int n=4;
drawGrid(n);
// Draw the 3 moves shown in the second diagram
drawMoveDown(2, 1, "$T(2,2)$"); // Corresponds to coins (2,1), (2,2), (3,2)
drawMoveDown(3, 1, "$T(3,2)$"); // Corresponds to coins (3,1), (3,2), (4,2)
drawMoveDown(3, 2, "$T(3,4)$"); // Corresponds to coins (3,2), (3,3), (4,3)
[/asy]](http://latex.artofproblemsolving.com/3/1/a/31a1668332654ec625ce6a7ca414ef266fe18dbe.png)
[You should use the names for these moves shown inside the 9 shaded triangles when answering (b). You should adapt this naming convention in a suitable way when answering parts (a) and (c).]