int main() { Graph g; Node node1(1), node2(2), node3(3), node4(4), node5(5), node6(6), node7(7), node8(8), node9(9); g.insert (Graph::value_type(node1, node3)); g.insert (Graph::value_type(node1, node4)); g.insert (Graph::value_type(node1, node5)); g.insert (Graph::value_type(node2, node6)); g.insert (Graph::value_type(node3, node6)); g.insert (Graph::value_type(node4, node7)); g.insert (Graph::value_type(node5, node7)); g.insert (Graph::value_type(node5, node8)); g.insert (Graph::value_type(node5, node9)); g.insert (Graph::value_type(node9, node5)); Graph::key_compare cmp = g.key_comp(); Graph::const_iterator it = g.begin(), itEnd = g.end(), prev; while (it != itEnd) { std::cout << it->first << ": "; // print vertex do { std::cout << it->second << ", "; // print adjacent vertices prev = it++; } while (it != itEnd && !cmp(prev->first, it->first) && !cmp(it->first, prev->first)); std::cout << std::endl; } }
int main() { Graph g; Node node1(1), node2(2), node3(3), node4(4), node5(5), node6(6), node7(7), node8(8), node9(9); g.insert (Graph::value_type(node1, node3)); g.insert (Graph::value_type(node1, node4)); g.insert (Graph::value_type(node1, node5)); g.insert (Graph::value_type(node2, node6)); g.insert (Graph::value_type(node3, node6)); g.insert (Graph::value_type(node4, node7)); g.insert (Graph::value_type(node5, node7)); g.insert (Graph::value_type(node5, node8)); g.insert (Graph::value_type(node5, node9)); g.insert (Graph::value_type(node9, node5)); Graph::const_iterator it = g.begin(); while (it != g.end()) { std::pair<Graph::const_iterator, Graph::const_iterator> range = g.equal_range(it->first); std::cout << it->first << ": "; // print vertex for (; range.first != range.second; ++range.first) { std::cout << range.first->second << ", "; // print adjacent vertices } std::cout << std::endl; it = range.second; } }
TEST(L124, normal) { std::shared_ptr<TreeNode> node1(new TreeNode(1)); std::shared_ptr<TreeNode> node2(new TreeNode(2)); std::shared_ptr<TreeNode> node3(new TreeNode(3)); Solution solution; ASSERT_EQ(1, solution.maxPathSum(node1.get())); node1->val = -3; ASSERT_EQ(-3, solution.maxPathSum(node1.get())); node1->val = 2; node2->val = -1; node1->left = node2.get(); node1->right = 0; ASSERT_EQ(2, solution.maxPathSum(node1.get())); node1->val = -2; node3->val = -3; node1->right = node3.get(); node1->left = 0; ASSERT_EQ(-2, solution.maxPathSum(node1.get())); node1->val = 2; node2->val = -1; node3->val = 2; node1->right = node3.get(); node1->left = node2.get(); ASSERT_EQ(4, solution.maxPathSum(node1.get())); node1->val = 5; node2->val = 4; node3->val = 8; std::shared_ptr<TreeNode> node4(new TreeNode(11)); std::shared_ptr<TreeNode> node5(new TreeNode(13)); std::shared_ptr<TreeNode> node6(new TreeNode(4)); std::shared_ptr<TreeNode> node7(new TreeNode(7)); std::shared_ptr<TreeNode> node8(new TreeNode(2)); std::shared_ptr<TreeNode> node9(new TreeNode(5)); std::shared_ptr<TreeNode> node10(new TreeNode(1)); node2->left = node4.get(); node3->left = node5.get(); node3->right = node6.get(); node4->left = node7.get(); node4->right = node8.get(); node6->left = node9.get(); node6->right = node10.get(); ASSERT_EQ(48, solution.maxPathSum(node1.get())); }
int main() { Solution s; { TreeNode node5(5); TreeNode node4(4); TreeNode node8(8); TreeNode node11(11); TreeNode node13(13); TreeNode node4a(4); TreeNode node7(7); TreeNode node2(2); TreeNode node1(1); node5.left = &node4; node5.right = &node8; node4.left = &node11; node8.left = &node13; node8.right = &node4; node11.left = &node7; node11.right = &node2; node4a.right = &node1; std::cout << s.hasPathSum(&node5, 22) << std::endl; } return 0; }
void CLocaLogicImpl::GetMessageL(const CBBBtDeviceList* devices, const TTime& aAtTime, TInt& doSendToIndex, TInt& aMessageCode, TDes& aWithName, TDes& aWithTitle, auto_ptr<HBufC8>& aBody) { CALLSTACKITEM_N(_CL("CLocaLogicImpl"), _CL("GetMessage")); TInterpreterAutoLock interpr; doSendToIndex=-1; TInt count=-1; const TBBBtDeviceInfo* dev=0; TInt max_seen_priority=-1; for (dev=devices->First(); dev; dev=devices->Next()) count++; python_ptr<PyObject> dict_general(PyDict_New()); if (! dict_general ) User::Leave(KErrNoMemory); AddToPyDict(dict_general, "nodename", iNodeName); AddToPyDict(dict_general, "time", aAtTime); AddToPyDict(dict_general, "bt_count", count); // borrowed PyObject* main_module = PyImport_AddModule("__main__"); if (! main_module ) User::Leave(KErrNoMemory); // borrowed PyObject* global_dict = PyModule_GetDict(main_module); if (! global_dict ) User::Leave(KErrNoMemory); // borrowed TInt index=0; dev=devices->First(); // first is the node itself for (dev=devices->Next(); dev; dev=devices->Next()) { index++; TBuf<15> mac; dev->iMAC.IntoStringL(mac); AddToPyDict(dict_general, "mac", mac); AddToPyDict(dict_general, "majorclass", dev->iMajorClass()); AddToPyDict(dict_general, "minorclass", dev->iMinorClass()); TBool found=EFalse; python_ptr<PyObject> dict_devstats(PyDict_New()); { TBuf<50> node; TDevStats s; for(found=iDevStats->FirstStats(*dev, node, s); found; found=iDevStats->NextStats(*dev, node, s)) { python_ptr<PyObject> dict_dev( DevStatToPyDict(s)); auto_ptr<HBufC8> node8(HBufC8::NewL(node.Length()+2)); TPtr8 p=node8->Des(); iCC->ConvertFromUnicode(p, node); node8->Des().ZeroTerminate(); AddToPyDict(dict_devstats, (char*)node8->Ptr(), dict_dev); } } python_ptr<PyObject> dict_msgstats(0); { TMessageStats s; iMessageStats->GetStatsL(*dev, s); dict_msgstats.reset(MessageStatToPyDict(s)); } for (int i=0; i<iFunctions->Count(); i++) { TScriptError err=RunScript(main_module, global_dict, iFunctions->MdcaPoint(i), max_seen_priority, dict_general.get(), dict_devstats.get(), dict_msgstats.get(), aMessageCode, aWithName, aWithTitle, aBody, iErrorMsgBuf, dev->iMAC() ); if (err>EHighestPriority) { #if !defined(__WINS__) && !defined(CONTEXTLOCA) if (IsInArray(iErrorFunctions, iFunctions->MdcaPoint(i))) { PyErr_Clear(); continue; } #endif AddToArrayL(iErrorFunctions, iFunctions->MdcaPoint(i)); TBuf<50> name; TInt state=CCnvCharacterSetConverter::KStateDefault; iCC->ConvertToUnicode(name, iFunctions->MdcaPoint(i), state); name.SetLength(name.Length()-1); if (err==EPythonError) { AppendCheckingSpaceL(iErrorMsgBuf, _L(" in script ")); AppendCheckingSpaceL(iErrorMsgBuf, name); ReportPythonError(iErrorMsgBuf); } else { Reporting().UserErrorLog( iErrorMsgBuf, _L(" in script "), name); } } else if (err==EHighestPriority) { doSendToIndex=index; } } } /* // phone or PDA if (aDevice.iMajorClass()==0x02 || ( aDevice.iMajorClass()==0x01 && aDevice.iMinorClass()>0x03 )) { } else { return; } */ }