Truyen2U.Net quay lại rồi đây! Các bạn truy cập Truyen2U.Com. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

Chương 2. Vết nứt đầu tiên

Kỳ nghỉ Tết trôi qua như một cơn gió. Hoàng Ly trở lại phòng 405, Ký túc xá B10, với tâm trạng uể oải. Kỳ 1 kết thúc với điểm GPA gần như tuyệt đối 3.96, và một suất học bổng xuất sắc. Danh hiệu "Thủ khoa" của cô càng thêm vững chắc. Lời khiển trách của Giảng viên Hưng về môn Lập trình và điểm 6.0 quá trình bị cô vứt lại phía sau, coi đó là một sai sót nhỏ, một nốt nhạc lạc điệu không đáng bận tâm.

Nhưng học kỳ 2 đã bắt đầu, và không khí dường như đặc quánh lại.

Các môn "đại cương" dễ thở đã được thay thế bằng những "hung thần" thực sự của ngành Khoa học Máy tính. Hai môn học gieo rắc nỗi kinh hoàng cho toàn bộ sinh viên năm nhất là "Toán rời rạc nâng cao" và "Cấu trúc dữ liệu và Giải thuật nâng cao".

Nếu "Giải thuật" ở kỳ 1 chỉ là đi dạo trong công viên, thì "Giải thuật nâng cao" là leo núi Phan-xi-păng trong bão tuyết.

Giảng viên lần này là thầy Khang, một Phó Giáo sư trán hói, mắt sắc như dao, và nổi tiếng với biệt danh "Khang Sát Thủ". Ông không dùng slide. Ông giảng bằng phấn trắng, bảng đen, và một tốc độ nói nhanh gấp 1.5 lần người bình thường.

Phòng 405, 8 giờ sáng một ngày thứ Năm.

"Ly! Dậy đi! 8 giờ 15 vào tiết thầy Khang rồi!" Bảo Linh vừa quàng vội cái khăn vừa hét lên giường tầng trên. "Ông này điểm danh đầu giờ đấy!"

Cái bọc chăn chỉ khẽ cựa quậy. "Tớ ốm," một giọng nói ngái ngủ vọng ra.

"Lại ốm," Thu Hà bĩu môi, tay đang tô son. "Cậu 'ốm' cả tuần nay rồi đấy. Coi chừng thầy Khang cấm thi."

"Tớ đọc giáo trình rồi. Hôm nay học về Quy hoạch động (Dynamic Programming). Dễ ợt. Chia bài toán lớn thành các bài toán con tối ưu," giọng Ly vọng ra, vẫn chuẩn xác về mặt lý thuyết.

Bảo Linh lắc đầu, kéo tay Minh An. "Thôi, đi mau. Kệ cậu ấy."

Hoàng Ly không ốm. Cô chỉ lười. Và cô thấy không cần thiết.

Cô vẫn giữ thói quen cũ. Cô lướt qua giáo trình, nắm bắt khái niệm cốt lõi trong vài phút, rồi cho rằng mình đã hiểu. Tại sao phải lãng phí 3 tiếng đồng hồ ngồi nghe ông thầy nói lại những thứ mình đã đọc được trong 30 phút?

Cô thà ở ký túc xá ngủ, hoặc nằm lướt điện thoại xem vài video piano.

Cô không hề biết rằng, "Giải thuật nâng cao" không phải là "biết". Nó là "làm".

Giữa tháng Ba, bài kiểm tra giữa kỳ ập đến.

Tối hôm trước, Ly mới bắt đầu "ôn thi". Cô giở sách ra. Quy hoạch động, Đồ thị, Luồng cực đại... Mớ lý thuyết vẫn rõ ràng trong đầu cô. Nhưng khi cô lật đến phần bài tập, cô khựng lại.

Những bài toán không còn đơn giản là "Hãy áp dụng thuật toán Dijkstra". Chúng là "Một mạng lưới giao thông có trọng số thay đổi theo thời gian, tìm đường đi ngắn nhất biết rằng bạn có thể dừng lại ở mỗi thành phố không quá K lần..."

Ly nhíu mày. Cô thấy hơi bực. Chúng phức tạp hơn cô nghĩ.

Cô dành ra hai tiếng đồng hồ, thay vì 30 phút như mọi khi, để đọc và ngẫm. "À, ra là biến thể của Dijkstra kết hợp với DP." Cô tìm ra mấu chốt. Tự tin, cô gấp sách lại và đi ngủ lúc 11 giờ đêm, trong khi Bảo Linh và Minh An vẫn đang cày cuốc như điên ở phòng tự học chung.

Ngày trả bài.

Không khí lớp "Giải thuật nâng cao" im phăng phắc. Thầy Khang bước vào, mặt không cảm xúc, ném xấp bài đã chấm lên bàn.

"Tôi không hiểu các anh chị học hành kiểu gì," thầy gằn giọng. "Đây là kiến thức nền tảng. Lớp 120 người, 40 người dưới trung bình. 10 người trên 8. Không ai được 10."

Bảo Linh và Minh An run rẩy nhận bài.

"Tớ được 7!" Minh An thì thầm, mừng rỡ như trúng số. "May quá, không bị 'Khang Sát Thủ' chém."

Bảo Linh cũng thở phào. "Tớ 7.5. Suýt chết."

Cả hai quay sang Ly, người luôn nộp bài sớm nhất. "Ly, cậu chắc 9.5 rồi?"

Hoàng Ly nhìn chằm chằm vào con số đỏ chói ở góc bài thi. Nó không phải 9.5. Nó không phải 8.5.

Nó là 6.5.

Trong một giây, Ly nghĩ thầy chấm nhầm. Cô đọc lại lời phê. "Tư duy cơ bản tốt, nhưng chỉ giải được trường hợp đơn giản. Sai hoàn toàn ở các trường hợp biên (edge cases). Thuật toán không tối ưu."

Máu như rút hết khỏi mặt cô.

6.5.

Một con số mà cô chưa bao giờ thấy trong học bạ của mình, kể cả ở môn Thể dục. Nó là một sự sỉ nhục.

"Ly... cậu sao thế?" Bảo Linh lo lắng hỏi khi thấy mặt Ly trắng bệch.

Ly giật mình. Cô nhanh chóng gập đôi tờ giấy thi, nhét vào cặp. Nụ cười xã giao hoàn hảo lại nở trên môi cô.

"À, tớ làm nhầm một câu. Tưởng gì," cô nói, giọng nhẹ bẫng. "Thầy Khang này chấm cũng ghê thật. Thôi." 

Nhưng bên trong, lồng ngực cô đang sôi lên. 6.5! Cô, Hoàng Ly, mà lại 6.5?

"Mình chỉ chưa quen thôi," cô tự nhủ. "Chỉ là mình chủ quan. Dạng đề này hơi lạ. Mình chỉ chưa quen với kiểu ra đề lắt léo này." 

"Cuối kỳ," cô siết chặt quai ba lô, "cuối kỳ mình sẽ tốt hơn. Mình sẽ lấy lại 9.5." 

Cú sốc 6.5 khiến Ly thay đổi một chút.

Cô bắt đầu... ra khỏi giường.

Cô không đến phòng tự học chung. Nơi đó quá ồn ào và "nhiệt huyết" một cách không cần thiết. Nhưng cô sẽ ngồi ở bàn học của mình trong phòng 405, mở laptop ra, và thực sự đọc các bài giảng.

Nhưng đúng lúc đó, một sự kiện khác thu hút sự chú ý của cô.

Trường phát động cuộc thi lập trình thường niên: "Bách Khoa Code Challenge". Đây là đấu trường danh giá nhất, nơi tất cả các "siêu nhân" code của trường tụ hội.

Ly đọc thông báo. Giải Nhất: 10 triệu đồng, cúp, và cơ hội được các tập đoàn công nghệ lớn "săn" ngay từ năm nhất.

Nhưng Ly không quan tâm đến tiền hay cúp. Cô nhìn thấy một thứ khác: Cơ hội để khẳng định lại vị thế.

Cái điểm 6.5 kia là một vết nhơ. Nó làm cô khó chịu. Cô cần một chiến thắng vang dội để chứng minh rằng Hoàng Ly vẫn là Hoàng Ly. Rằng cái 6.5 đó chỉ là một tai nạn.

"Ly, cậu đăng ký 'Code Challenge' à?" Bảo Linh ngạc nhiên khi thấy tên Ly trong danh sách. "Năm nhất mà thi cái này á? Toàn các anh năm 3, năm 4 thôi. Mấy ông đội tuyển Olympic quốc gia cũng thi đấy."

"Thì sao?" Ly nhún vai, tay vẫn đang lướt điện thoại. "Thử cho vui."

Vòng loại diễn ra online vào một tối Chủ Nhật. Gồm 5 bài toán, thời gian 3 tiếng.

Bảo Linh và mấy chục sinh viên khác trong phòng tự học chung cắm cúi gõ phím. Không khí căng như dây đàn.

Ly nằm trên giường, đặt laptop lên bụng.

Bài 1: Sắp xếp cơ bản. 3 phút. Accepted.

Bài 2: Tìm kiếm nhị phân. 5 phút. Accepted.

Bài 3: Đồ thị cơ bản. 7 phút. Accepted.

...

20 phút sau, màn hình của Ly hiện lên 5 chữ "Accepted" màu xanh lá cây. Cô giải xong 5/5 bài, đứng đầu bảng xếp hạng tạm thời. Cô nộp bài, đóng laptop, và đi ngủ, trong khi 90% thí sinh khác vẫn đang vật lộn với bài số 3.

"Trời ơi, Hoàng Ly!" Bảo Linh về phòng lúc 11 giờ đêm, mặt mày phờ phạc. "Cậu lại đứng nhất vòng loại! Cậu làm hết 5 bài trong 20 phút á? Cậu là người hay máy vậy?"

"Dễ mà," Ly ngáp. "Toàn thuật toán cơ bản."

Sự tự tin của cô đã quay trở lại. Cái cảm giác đứng trên đỉnh, nhìn xuống những người khác, mới thật dễ chịu làm sao. "Thầy Khang," cô nghĩ, "chỉ là ông ấy ra đề vớ vẩn."

Vòng chung kết.

Hội trường C2. Một trăm thí sinh xuất sắc nhất. Không khí im lặng đến mức có thể nghe thấy tiếng quạt tản nhiệt của máy chủ.

Ly bước vào, bình thản. Cô chọn một chỗ ngồi ở góc.

Thời gian: 5 tiếng. Số bài: 5 bài.

"BẮT ĐẦU!"

Tiếng gõ phím lách cách đồng loạt vang lên.

Ly mở đề. Cô lướt qua bài A, bài B. "Dễ. Để sau." Cô tìm bài khó nhất, bài C, bài D, bài E.

Bài C: "Mật mã di truyền". Đề bài dài hai trang, mô tả một chuỗi ADN khổng lồ và các quy tắc biến đổi. Yêu cầu tìm chuỗi con dài nhất thỏa mãn một điều kiện "đối xứng" phức tạp.

Ly nhếch mép. "DP trên chuỗi. Thú vị."

Cô phác ra thuật toán cơ bản trong 10 phút. Một mảng hai chiều, với độ phức tạp là O(n^2). Cô liếc nhìn giới hạn mà đề bài đặt ra. N = 5000.

"5000, bình phương lên sẽ là 25 triệu phép tính. OK, chạy tốt."

Cô code trong 20 phút. Tay cô lướt trên bàn phím, chính xác, nhanh gọn. Cô nộp bài. 

Màn hình trả về kết quả: "Wrong Answer".

Ly cau mày. "Sai?"

Cô đọc lại đề. À, cô hiểu nhầm một điều kiện. Sửa lại logic. Nộp.

"Time Limit Exceeded".

Hết thời gian? Tại sao? O(n^2) phải qua chứ? 

Cô đọc lại. À... "Số lượng test cases: 100".

Chết tiệt. 100 test cases, mỗi test N=5000 nhân với O(n^2) chắc chắn không qua.

Bài toán này cần một thuật toán nhanh hơn, là O(nlogn) hoặc O(n)!

Ly ngồi thẳng dậy. Đây không còn là bài toán cô có thể giải bằng cách "nhận diện mẫu" đơn giản nữa. Nó đòi hỏi một sự tối ưu hóa sâu, một cấu trúc dữ liệu thông minh, có thể là Suffix Array, hoặc một dạng DP phức tạp hơn.

Cô bắt đầu suy nghĩ. Tay cô gõ nhịp xuống bàn.

Cách 1: DP. Vẫn là O(n2). Loại.

Cách 2: Cấu trúc dữ liệu? Hash? Có thể, nhưng dễ xung đột.

Cách 3: ...

Đầu óc cô, vốn luôn nhảy số nhanh như một siêu máy tính, bắt đầu khựng lại.

Cô không tìm thấy lời giải.

Cô tập trung ngồi suy nghĩ, tìm hướng giải trong những thuật toán đã được học. Không có gì khớp hoàn toàn.

Một cảm giác lạ lẫm bắt đầu dâng lên. Một cảm giác ngứa ngáy, bực bội.

Đã 45 phút trôi qua. Bảng xếp hạng cập nhật. Đã có người "Accepted" bài A và B. Ly vẫn 0 điểm.

Tiếng gõ phím xung quanh dường như to hơn. Tiếng điều hòa rít lên.

"Bình tĩnh," cô tự nhủ. "Chỉ là một bài toán. Mình là Hoàng Ly. Mình giải được."

Cô thử lại. Cô vẽ ra giấy. 30 phút nữa trôi qua.

Vẫn là ngõ cụt.

Sự bực bội biến thành hoảng sợ.

Đây là lần đầu tiên. Lần đầu tiên cô đối mặt với một vấn đề mà trí thông minh của cô không thể giải quyết ngay lập tức. Cô không biết phải làm gì khi bị "kẹt". Cô chưa bao giờ phải vật lộn để tìm ra lời giải.

Cô liếc sang bên cạnh. Thí sinh bàn bên, một anh chàng đeo kính dày cộp, vừa rên lên một tiếng "Yes!" sung sướng. Màn hình anh ta hiện chữ "Accepted" bài C.

Chính là bài cô đang kẹt.

Ly cảm thấy máu nóng dồn lên mặt. Là xấu hổ. Là tức giận.

Tại sao hắn làm được mà mình không làm được?

Cô nhìn lại màn hình của mình. Trống trơn. Đoạn code O(n^2) vô dụng. Đầu óc cô giờ hoàn toàn trống rỗng. Cái cảm giác "không làm được" này thật kinh khủng. Nó còn tệ hơn cả điểm 6.5.

Cô không thể chịu đựng được nữa.

Cô không muốn ngồi đây thêm một phút nào, cảm thấy mình ngu ngốc.

Hoàng Ly đứng phắt dậy. Tiếng ghế ma sát trên sàn vang lên khô khốc.

Cô click "Submit" lần cuối vào đoạn code cũ của mình, dù biết nó sai. Cô tắt máy. Cô xốc ba lô lên vai và bước thẳng ra cửa, bỏ lại sau lưng hàng trăm con mắt ngạc nhiên.

Đã 1 tiếng 30 phút trôi qua. Mọi người nghĩ cô đã làm xong. Hoặc là một thiên tài, hoặc là một kẻ bỏ cuộc.

Hoàng Ly biết cô là vế thứ hai.

Cô về phòng 405. Nằm vật ra giường. Trùm chăn kín đầu. Cô cảm thấy run rẩy.

Bốn tiếng sau, Bảo Linh mệt lử trở về.

"Ly? Sao cậu về sớm thế? Cậu làm xong hết à?"

"Không," Ly nói dối, giọng cô khàn đi trong chăn. "Đề chán. Tớ nộp bừa rồi về."

"Trời ơi! Đề năm nay khó kinh khủng!" Bảo Linh ngồi phịch xuống ghế. "Tớ vật lộn 5 tiếng đồng hồ mới được 2/5 bài. Bài C 'Mật mã di truyền' đúng là ác mộng. Cả phòng thi chắc được 5 người làm được. Cậu làm được không?"

"Tớ không thèm làm," Ly lặp lại.

Bảo Linh quá mệt để nhận ra sự dối trá. "À, kết quả có rồi này. Để tớ xem..."

Linh mở laptop. Ly vờ như đã ngủ, nhưng tai cô dỏng lên.

"Top 1... anh Trần Minh Quân, K66, đội tuyển IMO. Không ngạc nhiên."

"Top 2... anh Lê Văn B, K66."

...

"Top 10... bạn Nguyễn Hà, K68. Uầy, cùng khóa mình, giỏi thế..."

Bảo Linh kéo chuột. "Tớ hạng 32. Cũng được." Cô kéo tiếp. "Ơ... Ly... sao tớ không thấy tên cậu trong top 10?"

"..."

"Top 20... cũng không có. Top 50... cũng không."

"Tớ đã bảo tớ nộp bừa rồi mà," Ly gắt lên, giọng bực bội. "Cậu phiền quá. Tớ ngủ."

Bảo Linh giật mình trước phản ứng của Ly. Cô lẳng lặng tắt máy.

Cú ngã ở "Code Challenge" làm Ly chao đảo. Lòng kiêu ngã của "thiên tài" bị tổn thương nghiêm trọng.

Sự kiện đó, cộng với áp lực từ điểm 6.5, khiến Ly hoảng loạn khi kỳ thi cuối kỳ đến.

Lần đầu tiên trong đời, Hoàng Ly... cày cuốc.

Cô học hơn 10 tiếng trong 3 ngày trước khi thi "Giải thuật nâng cao". Cô ra phòng tự học chung, ngồi từ sáng đến đêm. Cô cố gắng nhồi nhét mọi thứ.

Nhưng đó không phải là "học". Đó là "nhồi".

Cô học trong sự sợ hãi. Nỗi sợ rằng mình sẽ lại "kẹt". Nỗi sợ rằng mình không thông minh như mình nghĩ.

Đầu óc cô không còn thông suốt. Cô đọc một thuật toán, nhưng đầu óc lại nghĩ về bài toán "Mật mã di truyền". Sự tập trung của cô vỡ vụn.

Kết quả.

Bài thi cuối kỳ "Giải thuật nâng cao", Ly làm được. Nhưng không xuất sắc. Cô làm một cách máy móc, không có sự tối ưu, không có sự thanh thoát.

Điểm tổng kết môn: 7.8/10.

Với Bảo Linh (7.0) và Minh An (6.8), đây là một chiến thắng.

Với Hoàng Ly, đây là một thất bại không thể bào chữa.

Các môn khác, vốn vẫn dễ, cô vẫn đạt 9, 10. GPA kỳ này của cô vẫn cao, vẫn có học bổng. Nhưng cô biết, môn cốt lõi của ngành, cô đã thất bại.

Tối hôm đó, phòng 405.

Ly lại lên giường sớm. Cô không ngủ. Cô chỉ nhắm mắt, nhìn vào bóng tối.

Ở bàn học, Minh An và Bảo Linh đang thì thầm.

"Kỳ này Ly có vẻ không ổn lắm," Minh An nói. "Điểm 'Giải thuật' 7.8, không giống cậu ấy chút nào."

Bảo Linh thở dài, gấp sách lại. "Tớ nghĩ... tớ hiểu vì sao. Cậu ấy giỏi thật, nhưng có vẻ cô ấy chưa từng phải cố gắng thật sự."

Minh An gật gù. "Đúng. Như tớ, tớ biết mình không thông minh bằng, nên tớ phải cố. Tớ phải cày từ đầu. Còn Ly, cậu ấy dựa vào thông minh. Đến khi gặp thứ mà thông minh không giải quyết được ngay, cậu ấy... sụp đổ. Cậu ấy không biết phải cố gắng thế nào."

"Tớ thấy cậu ấy ngồi ở phòng tự học ba ngày liền trước khi thi môn "Giải thuật nâng cao", nhưng cứ 15 phút lại thở dài, mắt thì vô hồn. Đó không phải là học," Bảo Linh kết luận. "Cậu ấy chỉ đang hoảng sợ."

Hoàng Ly nằm im, siết chặt nắm tay. Từng lời, từng chữ, đâm vào tai cô.

Cô ấy chưa từng phải cố gắng thật sự.

Cậu ấy không biết phải cố gắng thế nào.

Chúng là sự thật. Cô là một "thiên tài" được bọc trong lụa. Và khi tấm lụa đó bị xé toạc, cô không biết làm gì ngoài việc run rẩy.

Ly một mình trong bóng tối, lần đầu tiên trong mười tám năm cuộc đời, cô tự hỏi một câu.

"Mình... có thực sự giỏi không?"

Một câu hỏi đáng sợ, run rẩy.

Nhưng rồi, lòng kiêu hãnh cố hữu của cô lại trỗi dậy. Cô ngồi bật dậy.

"Không."

Cô lẩm bẩm.

"Thôi. Cuộc thi đó không quan trọng lắm. Môn học đó không quan trọng lắm."

"Chỉ là mình chưa quen. Hè này, mình sẽ học lại."

Cô gạt đi sự nghi ngờ, như cách cô vẫn luôn gạt đi những thứ "nhàm chán". Cô tin rằng chỉ cần cô "nghiêm túc", cô sẽ lấy lại được tất cả.

Nhưng vết nứt đã ở đó. Dù cô có cố trát lại, nó vẫn đã xuất hiện. Và nó sẽ chỉ lớn dần ra.

Bạn đang đọc truyện trên: Truyen2U.Com