------
## 最终结论
```python
import itertools

def generate_happy_strings(n, k):
    # Generate all possible strings of length n using 'a', 'b', 'c'
    possible_strings = itertools.product('abc', repeat=n)
    
    # Filter to get only happy strings
    happy_strings = []
    for s in possible_strings:
        s = ''.join(s)
        if all(s[i] != s[i + 1] for i in range(len(s) - 1)):
            happy_strings.append(s)
    
    # Sort happy strings in lexicographical order
    happy_strings.sort()
    
    # Return the k-th happy string or an empty string if k is out of range
    return happy_strings[k - 1] if k <= len(happy_strings) else ""

# Example usage:
print(generate_happy_strings(1, 3))  # Output: "c"
print(generate_happy_strings(1, 4))  # Output: ""
print(generate_happy_strings(3, 9))  # Output: "cab"
print(generate_happy_strings(2, 7))  # Output: ""
print(generate_happy_strings(10, 100))  # Output: "abacbabacb"
```